Friday, May 21, 2010

DSF Will Be Extended, Not Replaced

Austin attended the French X-Plane Congress last weekend; in response to some questions I have received, I want to clarify what is planned for DSF and X-Plane 10.

X-Plane 10 will extend DSF scenery capabilities by providing a number of new art asset types, as well as extensions to existing art asset file formats. We will not be changing the DSF file format or breaking compatibility with existing DSF scenery. If your DSF scenery works with version 9, I expect that it will work with version 10 as is.

(In fact, it looks like we do not even need to add new DSF extensions; DSF was designed to be a generic container for geometry data and properties, so we can usually extend X-Plane's scenery system by simply defining new art asset classes and properties.)

An example will illustrate what I mean by extending the art assets, not DSF.

In X-Plane 9, you create a forest (whether in a base mesh or overlay DSF) by creating a DSF polygon referencing a .for (forest) art asset. X-Plane will render this by filling the area inside the polygon with lots of trees.

In X-Plane 10, you will be able to optionally tell X-Plane to put the trees only on the edge of the polygon, rather than filling the entire inside. (This feature will be controlled by using values on the polygon parameter that are larger than 255, at least I think.) This will mean that you can use .for files and DSF polygon not only to create forest areas, but also to create rows of trees along the edges of roads or fields. A row of trees made by a .for file and DSF polygon will render much faster than a large number of individual OBJ-based trees.

This kind of art asset extension is similar to what we have already seen; X-Plane 850 introduced three new art asset types (.str object strings, .lin line paint, and .pol draped polygons) that all produced new rendering tricks using DSF polygons. These art assets were added to provide high performance rendering of airport surface areas. The new art assets didn't require any change to DSF because the representation of the position of these art assets is something DSF has always done: simple polygons.

DSF won't last forever, but at least for X-Plane 10 it looks like we can do a third full cycle of the sim using DSF as our base container format for scenery position data.


madine said...

I think it is already possible to do lines of trees with the current system by creating a "small" polygon. You can see it on the scenery of Xpfrance. but it seems that sometimes, those polygons are too small to be used by x-plane so maybe it will be the solution. the question is : should it be only polygons or also lines (segment ?)

Benjamin Supnik said...

madine, you are correct - the problem with the current scheme is that the polygon must be wide enough to see some trees, which are randomly it is not so precise.

The "edge" based scheme actually does not draw trees on the last side of the polygon, so an O-shaped polygon is more like a U, which lets you make a single line. But...I think this extension may change a bit more before we finalize it.

Anonymous said...

Without changing the dsf spec is it possible to change the number of tiles loaded at one time to say 9?

Is it possible to increase the number loaded the nearer the poles you get?

Is it possible to decrease the tile size to get a smoother loading and optionally load say 25 or 36 half sized tiles?


Benjamin Supnik said...

The size of the scenery box loaded by x-plane is independent of DSF.

DSF can cover larger or smaller spans of area, by changing the lat/lon box in the header...X-Plane doesn't support this yet though.