11/17/05 - More Pics Posted
I posted a few more pictures in the gallery with X-plane in its default settings; you can see what the scenery looks like with the 3-d detail turned down.11/17/05 - Austin Drops the Bomb
It might not have been totally clear from his email, but the global scenery is cut and we're working on duplication. It is a pretty huge undertaking; the last global scenery we did fit on 4 CDs; this fits on 7 dual-layer DVDs. See the library for more info! New pictures are in the gallery.10/21/05 - Down South
I'm in South Carolina with Austin this week working on the global scenery...yes, techno is a critical part of the production process.
First I want to say thank you to all of the users who have submitted test objects or even scenery packages for debuggin X-Plane 820. The test cases have been great - simple and easy to see the problem. This extra effort makes a huge difference in allowing us to quickly debug X-Plane. Beta 12 should be out soon and will have some OBJ fixes.
I am working right now on the "contract" for the global scenery - the contract is basically the master list of all of the objects, roads, terrains, etc. that our scenery expects to find installed - it is a list of the graphics. Once the scenery is released, I will try to publish this list with some notes; you can create a custom scenery package that replaces any element of our artwork. There will be a ton of opportunities to customize the look of the global scenery this way.9/27/05 - OBJ Tools Beta 2
Thanks to Peter Meininger of XPFW for catching a major bug in the new OBJ tools - basically animation was completely broken. There is a new b2 of ObjView, ObjConverter, and the OBJ code lib.9/15/05 - OBJ8 Is Here!
OBJ8 is finished and released. The OBJ engine inside X-Plane has been totally rewritten. It now supports animation, smooth curved surfaces, materials, blending control, polygon offset (that actually works), clickable 3-d cockpits, and one report indicates that it may be up to 20% faster for very large objects.
On this site you'll find a nwe version of ObjView,ObjDraw, and a new AC3D import/export plugin (under the tools section), documentation for both authors and programmers (library), and C++ sample code to read and write OBJ files (code). There's a ton of documentation including detailed explanations of some of the X-Plane specific modeling issues, with illustrations.
OBJ8 will be available in 820, which should be beta shortly, via the new updater. 820 will also feature scenery performance improvements and a few new features to support global scenery. This website has been updated to document these changes.8/20/05 - Custom vs. Global Scenery
I receive a number of emails pointing me toward custom scenery packages (usually for MSFS) and asking "when are we going to get this for X-Plane?" This kind of thing also comes up in forums, or X-Plane's default V7 or V8 scenery gets compared to a custom package.
First of all, this kind of thing does exist for X-Plane: here's a guy doing this kind of work for X-Plane. Packages like this for X-Plane do exist and are very nice, but don't exist in great abundance, partly because the existing tools for making X-Plane scenery are rudimentary.
The global scenery is never going to look like this; comparing global scenery to this kind of custom package is like comparing apples and oranges. The global scenery must cover the entire Earth completely - given such a huge area we have to use a very broad brush. Custom scenery can focus on a very small area and go into a lot more detail. Global scenery vs. custom scenery is like painting a house vs. painting a portrait...you can draw in a lot more detail when you can focus on a small area.
(If the whole world were done in the same resolution as this Paris package, the global scenery would have to ship on something like 900 double-sided double-density DVDs just to cover the images, if they were even available. I'm not sure how long it would take to create such a package, but my minimum guess is at least 50 years of developer time.)
We do want the global scenery to look as good as it can; my point here is just to understand the different nature of global vs. custom scenery. What we are going to do is try to provide the best set of tools for V8 scenery that we can, so custom authors can make great work for X-Plane! We are going to support custom scenery and let authors create custom scenery for their own parts of the world that they know best.8/5/05 - AWOL
I'll be on vacation starting today for the next week; no email, no computers, no electricity! If you email me, please be patient - I'll get back to you as soon as I'm back.
DSF2Text...people are using it and that's very cool. A few thoughts:
X-Plane 820 is in the works and going to have a number of new features. However, X-Plane 816 will come out first, a quick fix for the FMS crash on Windows. So if you've heard about new features, please don't be surprised that 816 doesn't have them.7/05/05 - OBJ8 Soon
I just got back from France last week...here are some pics Lori and I took while we were over there. Huge thanks to Stef and Serge and everyone else who took great care of us while we were there.
One thing that came out of meeting with a number of X-Plane people is the need for OBJ8...a lot of people are waiting on OBJ8 for a number of things. I am going to New York City this week to play bass on a friend's album, so I'm hoping to get some OBJ work done while I'm away from the office.
At this point it looks like our next X-Plane build may be 8.20 and may be a real 'feature' build with a lot of new stuff. So hopefully I'll know more in the next week about how much new OBJ code we can get into 8.20.
If you have further feedback on OBJ8, please email me ASAP!!!6/19/05 - ENV improvements
X-Plane 8.15 will show ENV taxiways now. Also a few ENV-related bugs have been fixed (see version history for details). I looked into drawing ENV rivers in X-Plane 8, but I don't think it can be done; X-Plane 8 only draws water as "areas", never as lines. This allows us to mark every single wet area as really being "wet" for seaplanes.
I was able to improve ENV load speed a little bit, but these changes are not in 8.15 - they will probably make it into 8.20. The new changes will improve the speed of an ENV (without textures) by about 3x, down from about 3 to about 1 second per ENV. One note about ENV load times: X-Plane loads each "landuse" texture once when it is first encountered in an ENV. This texture load takes a lot longer than loading the rest of the ENV. So as you fly and textures are loaded, ENV load gets faster until you enter an area with different landuses. The numbers above (3x improvement) are on ENVs where all textures have been loaded already, to isolate the performance of the ENV loader.
Texture load is still a cause of slow scenery load, as is the time to build highways. Both of these functions are shared between ENV and DSF scenery; we'll be working on improving their speed in future builds.6/06/05 - Intel Inside?
The big news of the day - Apple announced that they're moving to Intel chips for future Macs. Of course when these machines become available, we'll make sure X-Plane runs on them. I'm not sure that it will have a huge effect on Mac X-Plane users though. In my opinion, the problem with Macs is not their performance, but how expensive that performance is. The G5 is a very fast and enjoyable flight sim machine, but it's priced out of the range of most users. I'm not sure that a switch to Intel chips will help this.
Previously I posted that we won't have scenery tools until we have global scenery...and it is really frustrating that we don't have tools yet. The scenery work that I am coding now will all be part of the new scenery editing tools though, so by working on global scenery we are also working on tools. Once global scenery is done we will still need to put a good user interface on the tools though. Basically we have to finish this low level scenery creation work for both global scenery and tools to create custom scenery.5/25/05 - FAQs, Wikis, and Polygon Hell
I've updated the scenery FAQs; please email me if you have questions that aren't covered.
Ben Russell has started a series of WikiBooks on X-Plane. Wiki books are free collaborative books hosted online that anyone can read or edit. You'll have to sign up for a free account with WikiBooks to see this one. I'm a big fan of Wikis (editable web pages); they provide a great way for people to pool their ideas easily and quickly. We use a Wiki for the plugins page right now, and I'll probably make this site a Wiki (editable by anyone) once the scenery tools are available.
This week has been polygon hell. One of the big things we wanted to change with the new scenery was to get away from the checkerboard patterns that tend to emerge from grid-based scenery. Our solution is to allow the mesh to made up of triangles of any shape, allowing terrain changes to go in any direction. The downside is: it's possible for roads and terrain changes and rivers to come together at tiny slivering angles. When this happens, the computer's internal rounding error (our tools track about 14 decimal places of accuracy in the scenery) can cause lines that are very close to each other to cross or become jumbled...I've spent the week trying to fix these problems. So far the polygons are winning.5/19/05 - So what are we doing?
Austin mentioned in his X-Plane state of the union that we've pushed back the ship date of the global scenery from June to September so we could add "more stuff". That's a pretty good summary. Here are a few of the things I've been programming in the last few weeks:
And who is 'we'? For the global scenery, Sergio is working with Cristiano Maggi and Massimo Durando. Max and Kriss have made some great add-ons for X-Plane; we're very lucky to have them working on the global scenery artwork!
Sergio and his team have posted some pictures on his global scenery website. Please bear in mind that these are all rendering tests that he and his team have produced; they are not finished scenery. They show what the scenery system can do, but the global scenery may not look this good - we may be limited in how many textures we can ship or how much detail we can fit on the DVD set.5/15/05 - The Future of WorldMaker
WorldMaker 8 cannot edit ENV scenery. For version 8 we rewrote X-Plane's graphical scenery rendering engine completely. Because WorldMaker's editing capabilities depended on the rendering engine, we could not keep the editing code in WorldMaker.
To edit ENV scenery, please use WorldMaker from X-Plane 763. If you do not own X-Plane 763 you can download the free X-Plane 7 demo; WorldMaker from the demo is fully functional.
WorldMaker 8 also does not edit DSF scenery. Once we finish the global scenery, we will put a user interface on our DSF scenery creation tools and this will become "WorldMaker", the V8 scenery editing tool. WorldMaker will be free and also will be released in source code.
WorldMaker 8 does edit apt.dat and nav.dat files, as well as road ".net" and facade ".fac" files. In the long term we will have to see what editing functions end up in WorldMaker vs. WorldEditor. (I think we may also have to rename WorldEditor to prevent a ton of confusion.)
In summary: To editing V7 scenery, use version 7.63 and if you want to edit V8 scenery will have to wait. I realize how frustrating it is that the V8 scenery editing tools are not yet available; they are a very high priority and will be first on our list once the global scenery is done.5/08/05 - Customizing X-Plane's Default Scenery
It is possible to customize X-Plane's default scenery without ever replacing or overwriting a single file, or touching the resources folder! With X-Plane 8, custom scenery packages can override and replace not only actual scenery files (DSFs and ENVs) and airport layouts (via an apt.dat file), but they can also replace the building, road and terrain definitions used to draw the default scenery.
The mechanism to do this is the "library" system, whereby custom scenery packages can tell X-Plane that certain OBJs, roads, etc. should be used for default scenery. I strongly recommend this over simply replacing the existing resources; custom scenery packages are easier for users to install and uninstall, less likely to be broken by new X-Plane releases (for example if we move around our default packages), and won't get trashed during an update.
I have posted a tutorial that shows how to build a custom scenery package that provides new city textures and road bitmaps for X-Plane 8, including the end package. You can find it on the tutorials page.4/26/05 - OBJ8
Eventually we will be rolling out a new object format for X-Plane 8, dubbed "OBJ8". To answer a few questions, there are features we want to put in OBJ that we can't put into the V7 OBJ format without breaking a lot of stuff. So we are going to do a "major" revision to the format. I'd guess that OBJ8 will happen some time this fall.
X-Plane 8 will continue to read X-Plane 7 OBJ files for quite some time, so there will be no requirement to do anything whewn OBJ8 comes out. However, you will need to use OBJ8 to take advantage of the latest features. I will update "ObjConverter" to provide drag- and-drop conversion of the v2 and v7 formats to the new V8 format, and I will also update the AC3D exporter to save V8 objects directly.
Currently X-Plane has a lot of trouble with smooth surfaces; only strips can be smooth in an object. OBJ8 will allow "per vertex normals", which basically means the smoothness of an object can be specified across any set of polygons. But a converted OBJ7 file will not take advantage of this.
So in the meantime, I would recommend: keep on making models. Use OBJ7. But save your original files in AC3D, lightwave, Blender, or whatever format your modeling program uses so you can re-export them as OBJ8 when the time comes and get better performance and better smoothing. In the meantime you can find an RFC on OBJ8 here.4/13/05 - 3-D Forests
Sergio and I have been working on 3-d forests. The good news: the sim seems to render 3-d forests pretty fast. The bad news: they really chew up RAM. I think that once we get the global scenery done, we'll be able to optimize RAM usage a bit in the sim, making 3-d forests more accessable to smaller machines.3/12/05 - DSFLib Posted
I posted DSFLib - see the code page for download. If you want to use it and have trouble, please email me and I'll try to address any compiler-related problems as best I can.
(DSFLib is code that reads and writes DSF files. It is only of interest to programmers. It makes it easier for programmers to write tools that work with DSF files.)
I have updated the OBJ8 spec based on some conversations with Apple and nVidia, as well as developer feedback.2/18/05 - Airports
There were a bunch of recent posts about modeling airports, and a number of people are working on this. Most of them were similar to "how can I get this effect using objects" and the answer was usually "you can't yet."
Robin and I are working on a next-generation apt.dat file format...here's some of the details: hopefully it will provide a new way to do taxilines, taxi centerline lights, markings, and signs, as well as more powerful ways to make pavement. Hopefully these lines can be truly curved. But we don't know what featuers will be included yet - these are all areas of research right now.
It will not be necsssary to convert your files - if we do a new apt.dat file X-Plane will of course continue to read the old format. We can provide tools to extract taxiway lines from ENVs and put them in an apt.dat file. Austin and I just haven't had time to code the actual implementation. So I'm not sure how soon this new system will come, but it is a priority for us.
Right now X-Plane 8 does not draw vector taxi lines or rivers. This is on my to-do list, but I'm not sure how soon I can fix it...right now global scenery is taking all of my time.2/16/05 - New Stuff for Global Scenery
Here are a few things we're working on for global scenery. Please note: I can't promise that any of these things will be in the global renders...these are areas of work right now but there might be a problem we can't get around.
Beaches - a new form of polygon building block will allow for the easy creation of beach polygons around land/water transitions...Inland vs. oceanic water - data on the terrain mesh will mark whether water is inland with less waves or oceanic with more waves. (We're not sure how X-Plane will visualize this at first, but we do want to improve water rendering, so this data could be handy to have in the DSF files.)... Terrain transitions will happen over a few hundred meters rather than have the existing jagged triangular land use changes. Urban areas will end at road boundaries.
Also we're using SRTM data rather than NED data, and the SRTM data looks a lot better. They are both 90m resolution, but the SRTM data has a lot more detail, while the NED data is perhaps overly smooth. I won't have a good apples-to-apples comparison until I get another hard drive (hopefully today).2/3/05 - Object Prioritization
8.06 is out and I feel a bit of relief. We turned off bumpy runways in this build...they simply need more work before they're ready to be used. A number of users have said they miss them. They are a priority and we will turn them back on as soon as they're a little more stable.
I've posted an RFC on prioritizing objects. One of the biggest problems with DSF is that users run with most objects turned off, and this process can hide airports, landmarks, and other important custom scenery. This RFC provides a mechanism for authors to guarantee that certain objects are visible no matter what. I can't say what time frame it might appear in, but I think it will probably be available in the next X-Plane feature release.1/24/05 - Virtual Terrain Grid
I've posted DSF2Text yet again - apparently last time I posted it the new files were not included; sorry about that. This one should hopefully work right and also may be a little bit faster.
We're experimenting with the notion of a "virtual terrain grid". X-Plane 8 scenery has no grid requirement. You could make the terrain mesh into a grid, but normally we don't - we place triangles in a chaotic manner to capture the shape of coastlines and mountains with the minimum triangles possible. But this makes it hard to interchange various textures, which really look best when changed in a nice grid pattern.
The virtual terrain grid works by taking an existing single large texture (say 1024x1024) and cutting it into smaller squares and then rearranging them randomly. The result is that a given square won't repeat every 1024 pixels but rather less frequently since it is being moved around. This may help fix the repeating patterns that can be visible at high altitude.
The virtual terrain grid is written as a pixel shader, a program that runs entirely on the graphics card, so it doesn't require x-plane to do more work or require DSF scenerey to have more triangles. Warning: to use a pixel shader you need a newer graphics card. (For nVidia this means a GeForce "FX", or for ATI this means a Radeon 9600 or higher.) Without these cards, the terrain grid will be in its normal repeating pattern, so it will look like it always has.
I've posted a picture of one of our tests in the gallery.1/12/05 - Are we there yet?
First of all, if you have an X-Plane 7 scenery package that works unmodified in X-Plane 7.6x but does not work in X-Plane 804RC2, please tell us! This is a bug in X-Plane. 804RC2 fixes some previous V7 scenery loading issues, so definitely try the latest.
Scenery editing: a new version of DSF2Text is posted - the old one was pretty badly broken, sorry about that. Andrew McGreggor is updating his SRTM scenery tools for V8 - this is very exciting and will probably be the first reasonable way to create custom V8 scenery.
I have been working on new land class transitions and land use zoning for the global scenery render. I hope to have some demo files posted in the next few days, or at least screenshots (if the textures folder turns out to be too big to download).
Finally, please see the new RFC on localization...comments appreciated!12/16/04 - Six DSFs corrected.
Due to bugs in the scenery generator, there are six bad DSF files in the initial US scenery render - X-Plane shows nothing but water where these files should be. We have a patch in the works - get it now in the "test center" area.
One of the files had 500,000 triangles in the mesh, which caused an overflow in the scenery generator program. Now that this file is correctly rendered, you can see a really detailed coastline structure.12/10/04 - So what IS the mesh resolution?
I get asked this a lot - how dense is the new X-Plane 8 mesh? The answer is: how dense do you want it to be? The DSF file format doesn't place an upper limit on the mesh density. Higher density meshes will hurt framerate, but you can crank the res up as much as you want.
Are there any upper limits? Well, X-Plane is a "32-bit" application, meaning it can access at most 4 GB of RAM (maybe less depending on the OS). So that places a cap on the total file size of a DSF file, and more importantly on how big of a file X-Plane can load before it runs out of memory. Someday X-Plane will be "64-bit" giving it much more virtual memory and allowing larger DSFs to be opened by the sim.
Okay that wasn't very satisfying...you want numbers, right? Well, when we make the default scenery we have to pick some limitations. We start with 90 meter DEMs, so the smallest two features in the terrain will be 90 meters apart. We then "thin out" the data, throwing out points that are not interesting. We set the renderer to cut the triangle count down to about 100,000 triangles per DSF, but due to coastline complexity some DSFs can have as many as 200,000 triangles. Typically you will see 90m features near mountain ranges.
Custom scenery authors will be able to specify their own parameters, allowing for more triangles, and they will be able to use higher resolution DEMs to start with a more detailed terrain model.
The thing to remember is: it's not how many triangles you have, it's how you use them. ENV had 60,000 triangles per file, and yet the smallest feature was about 550 meters. So DSF increases triangle count by about 65% but provides six times the detail. This is because DSF only uses triangles where they are needed, while ENV uses them equally everywhere. Authors will find when they start working with DSF that what matters is not just how detailed their original DEMs are, but how many triangles they allow the DSF generator to insert.12/07/04 - Dealing with Chaos.
With X-Plane 8 scenery so new, a lot of changes are going into the scenery system in every patch of X-Plane. To help manage this, I am keeping a version history for the scenery system so authors can see precisely which version of X-Plane introduced support for a feature.
These features almost all take the form of additional commands for text files. So existing content should not be affected by the new features. If you want to take advantage of the feature simply use the new command. (Most commands are simply ignored by older versions of X-Plane.) We will try our hardest to not remove a command that is published.
If you discover an undocumented command in one of our files, please do not use it! If the command is not documented on this website, then it may just be an experiment that was accidentally included in a beta or release, and it may disappear soon.12/06/04 - Multiple versions of objects.
We're still cranking on scenery performance for X-Plane 8.02. Beta 2 knocked down some big bugs but there are still some nasties left.
One feature we just added is the ability to map multiple objects to a virtual path in a library. In other words, your DSF file can use the object res/house.obj 100 times. In your library you provide four separate definitions for the house and X-Plane will pick them randomly for approximately 25 of each. Of course all of the versions of res/house.obj must be about the same size.
This lets you build more objects later and improve the look of your scenery package with a simple add-on library. Since the default scenery looks uses libraries, the default scenery can be improved this way too.11/21/04 - DSF doesn't dictate.
Austin and I are working this week on scenery performance - particularly framerate with DSF files, framerate in the map view, and DSF file load times, as well as memory usage.
Something I'd like to emphasize, based on some of the questions I've gotten about V8 scenery: DSF doesn't dictate. We've made some decisions about how we will produce the default scenery, but there is no reason that anyone else has to follow this path of development. With DSF you can encode scenery using any number of techniques: 3-d modeling, orthophotos, regular terrain grids, irregular meshes, hand-modeled meshes, GIS-based scenery, vectors, objects, multiple terrain bitmap layers, anything you'd like. While previous X-Plane scenery has had a number of design decisions coded into the sim and written into the file format, with DSF almost everything is flexible.