
Make photo-real ground textures in Flight Simulator X
November 2007
Flight Simulator X contains high-resolution default ground textures of
approximately 1.2 meters per pixel. And the game supports extremely
detailed ground having up to 7 centimeters per pixel resolution!
Image servers on the Internet such as Google Earth and Microsoft Live
Virtual Earth can provide high-detail source images for many parts of
the world, and new scenery design tools like SBuilderX by Luis
Sá make the process of creating high-resolution ground textures
extremely easy even for beginners.
In this document, you will find an explanation of the methods for
making FS X photo-real ground textures, and a simple illustrated guide
to the use of SBuilderX for this purpose.
SBuilderX is very powerful and automates all of the difficult parts,
so, if you wish, you can skip the technical explanations and go
directly to the tutorial on SBuilderX.
Contents
- FS X - What's new
- Using the FS X Resample
- Source image formats
- inf file
- multi-source inf file
- Water Mask
- Blend Mask
- Seasonal and night variants
- Autogen annotations
- Problems
- Image color correction
- Hydro Polygon flattens
- Null Value and Blend Mask
- Blend Mask and autogen
- Multi-source maximum
- Misaligned airports and terrain
Using SBuilderX
- SDK Tools
- Create a new project
- Using the SBuilderX tile server
- Making custom textures
- Changes to the SBuilderX ini file
- Other scenery modifications
Support
What's new
First of all, ground texture resolution in FS X is much higher than in
previous versions. Custom ground textures can
now have a resolution as high as 7 centimeters per pixel
(LOD 19), compared to a resolution of 4.77
meters per pixel (LOD 13) in FS 9! Certainly more than enough to display good detail, the only
problem being to find the source images with that resolution. Please
note that any textures with resolution greater than the default will
not display that level unless the appropriate slider in the scenery
options is set to that resolution.
Here is a comparison of custom ground textures in FS 9 and FS X:

In addition, the compiled custom ground is no longer broken up into
multiple small textures as before. Now, the entire image of the ground
is integrated directly in the bgl - there are no separate textures at
all. This should give a boost in performance, especially since the
various LOD levels (MIPMaps) are also included and need not be calculated at
run-time.
Finally, custom textures were limited by the LOD grid - any
part of the source image that did not completely fill a LOD 13 quadrant
was discarded. Also, 4 (2 x 2) LOD 13 quadrants were the
minimum amount that could be compiled - any less, and no ground tiles were
created. This is no longer the case - the new FS X custom textures are
not clipped to the LOD grid at all and can be any size desired.
Using the FS X Resample
As before, the Resample program is simple and easy to use. An inf file (just a text file with an .inf
extension) contains a definition of the source image, including its
dimensions and coordinates, and a destination section with the desired
compilation parameters.
To compile the custom ground, drag and drop the inf file onto Resample.
Source image formats
Resample will accept a restricted number of image formats, for example:
- 24-bit bitmaps (BMP)
- 24-bit TIFF (TIF)
- 32-bit TIFF (TIF)
- GeoTIFF files, that have geo-referencing information included (TIF)
- 8-bit grayscale TIFF (TIF)
- 8-bit grayscale GeoTIFF (TIF)
- 24-bit TARGA (TGA)
- 32-bit TARGA (TGA)
The use of GeoTIFF is new to FS X and should simplify the creation of
inf files for beginners, since the relevant referencing information is
already in the image and does not have to appear in the inf file.
Please note that you cannot use 8-bit grayscale bitmaps (BMP).
It has also been my experience that RLE (Run-Length-Encoding)
compressed TarGA files will not work with Resample. However,
LZW-compressed TIFF files are not a problem.
You are probably most certain of success if you use BMP, TIFF, GeoTIFF,
or TARGA for the source images. The grayscale image formats can be
used for the Water and Blend Masks.
It is important to remember that the Flight Simulator world uses the
WGS84 datum with a lat-lon "geographic projection". Your source images
should imperatively conform to this specification, at the risk of
misaligned ground textures.
inf file
This time, the inf file has many more parameters and is much more
flexible. Only some of the major options will be described here - to
see the entire list of inf file options, please consult the Terrain
S.D.K. documentation.
The inf file is divided into 2 sections: a Source and a Destination.
The Source section defines the image and the Destination indicates
compilation options.
[Source]
Type - can be BMP, TIFF, GeoTIFF, or TGA
Layer - Resample can create land and water class, altitude mesh, custom ground, etc. For ground textures, this should be Imagery
(In a multi-source inf file, this should be None
when referring to a Water or Blend Mask)
SourceDir - the path to the folder where the source is located, presumably in quotation marks
SourceFile - the name of the source file, presumably in quotation marks
ulxMap - the longitude of the upper left corner of the image (not necessary if using a GeoTIFF)
ulyMap - the latitude of the upper left corner of the image (not necessary if using a GeoTIFF)
xDim - the size of each pixel in degrees longitude (not necessary if using a GeoTIFF)
yDim - the size of each pixel in degrees latitude (not necessary if using a GeoTIFF)
Channel_LandWaterMask - the source number and channel in the image file if using a separate source for the Water Mask (in a multi-source inf file)
Channel_BlendMask - the source number and channel in the image file if using a separate source for the Blend Mask (in a multi-source inf file)
NullValue - a color used in the source image to indicate
transparency (will display the default ground), in RGB values, e.g.
pure white = 255,255,255
SamplingMethod - shown as optional in the S.D.K., but may be required in certain cases, for example, Water and Blend Mask TIFFs.
The value for ground textures is Gaussian
Variation - a different source image can be provided for each
Month so as to represent seasonal variation, as well as for the night
variant.
a) If using only one source image
without seasonal or night variants, the value is All - this compiles the same source for day and night, all seasons
b) Use Day to only indicate this variant (in a multi-source inf file)
c) If there is also a night image
to be added, the value for it is Night (in a multi-source inf file)
d) If providing an image for the
different seasons, use the name (s) of the Months, for example, a
Winter variant of the image
could be
included by indicating January, February, March in this option (in a
multi-source inf file).
You could even
provide a different image for each Month of the Year, so as to have
subtle transitions between the Seasons.
[Destination]
DestFileType - should be BGL
DestDir - the path to the folder where you want the bgl created, presumably in quotation marks
DestBaseFileName - the name, without extension, that you wish to give the bgl, presumably in quotation marks
LOD - the range of LOD values that the final bgl should contain.
In FS X, all the necessary LOD levels are included in the bgl, and
Resample can automatically
determine that range if you use a value of Auto for this option. This is the recommended value.
Optionally,
you can let Resample determine the range, but also force compilation to a maximum LOD
level, for example LOD 16 by indicating Auto,16
You can also specify the entire range of LOD levels - for example, 7,17 will compile the entire range between those values, inclusive.
Do not on any
account indicate one unique LOD level as a value for this option -
Resample will only compile with that level in the bgl, which is
not what you want, since the custom texture will
only display when in the appropriate visual range.
CompressionQuality - a value of 100 will result in an uncompressed bgl. You can experiment with this, but compression between 75 and 85 has
yielded much smaller bgls without visible differences
in display quality.
Here is an example of a valid inf file for a 24-bit bitmap as a source:
[Source]
Type = BMP
Layer = Imagery
SourceDir = "."
SourceFile = "photo_X26_Sebastian_airport_Florida.BMP"
Variation = All
NullValue = 255,255,255
ulyMap = 27.8220739
ulxMap = -80.5078125
xDim = 1.07288194444475E-05
yDim = 9.48945312499901E-06
[Destination]
DestFileType = BGL
DestDir = "."
DestBaseFileName = "fsx_photo_X26_Sebastian_airport_Florida"
LOD = Auto
CompressionQuality = 85
And another example of an inf file, using a GeoTIFF file as a source:
[Source]
Type = GeoTIFF
Layer = Imagery
SourceDir = "."
SourceFile = "Photo_Paris_Esplanade_des_Invalides.TIF"
Variation = All
[Destination]
DestFileType = BGL
DestDir = "."
DestBaseFileName = "FSX_Photo_Paris_Esplanade_des_Invalides"
LOD = Auto
CompressionQuality = 85
As you see, the inf file for a GeoTIFF is much simpler since the geo-referencing information can be skipped.
multi-source inf file
This is simply an inf file with more than one source. There is a new
header at the top indicating the number of sources, and each source is
numbered. The destination section remains the same.
The multi-source inf file can be very useful in different situations.
1. For example, it can be used when there is one image source for the
Day variant and another for the Night variant. As you can see in the
following, there are 2 sources, and the Variation parameter is different:
[Source]
Type = MultiSource
NumberOfSources = 2
[Source1]
Type = BMP
Layer = Imagery
SourceDir = "."
SourceFile = "MDHE_Herrera.BMP"
Variation = Day
NullValue = 255,255,255
ulyMap = 18.482214
ulxMap = -69.9732971
xDim = 5.36440972222064E-06
yDim = 5.08808593749972E-06
[Source2]
Type = BMP
Layer = Imagery
SourceDir = "."
SourceFile = "MDHE_Herrera_LM.BMP"
Variation = Night
NullValue = 255,255,255
ulyMap = 18.482214
ulxMap = -69.9732971
xDim = 5.36440972222064E-06
yDim = 5.08808593749972E-06
[Destination]
DestDir = "."
DestBaseFileName = "Photo_MDHE_Herrera"
DestFileType = BGL
LOD = Auto
CompressionQuality = 85
2. It can also be used when a Blend and/or Water Mask is added to the
original image. Note how Source 1 includes a reference to the Blend and
Water Masks (source 2 and source 3), and how those have a Layer value of None, and therefore require a SamplingMethod parameter:
[Source]
Type = MultiSource
NumberOfSources = 3
[Source1]
Type = BMP
Layer = Imagery
SourceDir = "."
SourceFile = "photo_X26_Sebastian_airport_Florida.BMP"
Variation = All
Channel_BlendMask = 2.0
Channel_LandWaterMask = 3.0
ulyMap = 27.8220739
ulxMap = -80.5078125
xDim = 1.07288194444475E-05
yDim = 9.48945312499901E-06
[Source2]
Type = TIFF
Layer = None
SourceDir = "."
SourceFile = "photo_X26_Sebastian_airport_Florida_Blend.TIF"
SamplingMethod = Gaussian
ulyMap = 27.8220739
ulxMap = -80.5078125
xDim = 1.07288194444475E-05
yDim = 9.48945312499901E-06
[Source3]
Type = TIFF
Layer = None
SourceDir = "."
SourceFile = "photo_X26_Sebastian_airport_Florida_Water.TIF"
SamplingMethod = Gaussian
ulyMap = 27.8220739
ulxMap = -80.5078125
xDim = 1.07288194444475E-05
yDim = 9.48945312499901E-06
[Destination]
DestDir = "."
DestBaseFileName = "fsx_photo_X26_Sebastian_airport_Florida"
DestFileType = BGL
LOD = Auto
CompressionQuality = 85
3. Sometimes, the image source is very large, much too large to be
easily manipulated. It can be broken down into smaller parts that,
after editing and color correction, can be put back together by
Resample to form a larger image - here, Resample will take these 6
separate images and compile them into one complete custom ground
texture:
[Source]
Type = MultiSource
NumberOfSources = 6
[Source1]
Type = GeoTIFF
Layer = Imagery
SourceDir = "."
SourceFile = "St_Barts_1.TIF"
Variation = All
NullValue = 255,255,255
[Source2]
Type = GeoTIFF
Layer = Imagery
SourceDir = "."
SourceFile = "St_Barts_2.TIF"
Variation = All
NullValue = 255,255,255
[Source3]
Type = GeoTIFF
Layer = Imagery
SourceDir = "."
SourceFile = "St_Barts_3.TIF"
Variation = All
NullValue = 255,255,255
[Source4]
Type = GeoTIFF
Layer = Imagery
SourceDir = "."
SourceFile = "St_Barts_4.TIF"
Variation = All
NullValue = 255,255,255
[Source5]
Type = GeoTIFF
Layer = Imagery
SourceDir = "."
SourceFile = "St_Barts_5.TIF"
Variation = All
NullValue = 255,255,255
[Source6]
Type = GeoTIFF
Layer = Imagery
SourceDir = "."
SourceFile = "St_Barts_6.TIF"
Variation = All
NullValue = 255,255,255
[Destination]
DestDir = "."
DestBaseFileName = "fsx_St_Barts_photoreal_ground"
DestFileType = BGL
LOD = Auto
CompressionQuality = 85
Water Mask
In FS 9, a Water Mask was a simple black and white image, where pure
white (RGB=255,255,255) displayed the custom textures and pure
black (RGB=0,0,0) revealed the default water. This is
no longer so.
The new FS X Water Mask now only deals with water effects - the white
areas do nothing, but the black areas
indicate where water reflections and specular effects should appear.
The advantage is that we can now keep the custom texture image of the
water and still get FS water effects on them.
The Water Mask can be part of the principal source image - just use the
alpha channel of the TIFF or TarGA file for this purpose. Or, it can be
a separate source altogether.
Blend Mask
This is new to FS X - it will gradually fade out the custom texture so
as to give better transitions to the default ground. The Blend Mask is
a grayscale image, where pure white displays the custom textures and
pure black is full transparency (and will display the underlying ground
- or water!) All gray values in between will represent varying levels
of transparency where the custom textures blend with the default ground.
You can use the Blend Mask to transition between custom land textures
and default ground, or you can also use it to fade from your custom
water to the default water.
The Blend Mask can be an additional channel in the TIFF or TarGA
original image, or you can create a separate image and indicate this in
the inf file.
The following illustrates the use of Water and Blend Masks. Here is the original source, a 24-bit bitmap (BMP):

The Water Mask is simply a black and white image, with black painted on
the water parts (here, the hazards in the golf course!). It is a
grayscale TIFF file:

The Blend Mask draws pure white on the central part of the image that
will display without transparency, and then various levels of gray
towards the exterior - these will be partially transparent - and
ends in pure black where the default ground will display completely. It
is a grayscale TIFF image:

You can, of course, make the gradations of your grayscale image smoother than the
above so as to ensure less visible transitions to the default ground.
This is the inf file for this project - there are no Night or seasonal
variants, and the Water and Blend Masks are separate sources:
[Source]
Type = MultiSource
NumberOfSources = 3
[Source1]
Type = BMP
Layer = Imagery
SourceDir = "."
SourceFile = "photo_X26_Sebastian_airport_Florida.BMP"
Variation = All
Channel_BlendMask = 2.0
Channel_LandWaterMask = 3.0
ulyMap = 27.8220739
ulxMap = -80.5078125
xDim = 1.07288194444475E-05
yDim = 9.48945312499901E-06
[Source2]
Type = TIFF
Layer = None
SourceDir = "."
SourceFile = "photo_X26_Sebastian_airport_Florida_B.TIF"
SamplingMethod = Gaussian
ulyMap = 27.8220739
ulxMap = -80.5078125
xDim = 1.07288194444475E-05
yDim = 9.48945312499901E-06
[Source3]
Type = TIFF
Layer = None
SourceDir = "."
SourceFile = "photo_X26_Sebastian_airport_Florida_W.TIF"
SamplingMethod = Gaussian
ulyMap = 27.8220739
ulxMap = -80.5078125
xDim = 1.07288194444475E-05
yDim = 9.48945312499901E-06
[Destination]
DestDir = "."
DestBaseFileName = "fsx_photo_X26_Sebastian_airport_Florida"
DestFileType = BGL
LOD = Auto
CompressionQuality = 85
When loaded in TMFViewer, the compiled bgl will display as so:

Here is the default FS X ground for this project:

And the final custom textures in game, where water effects have changed
the color of what were dark water hazards in the original source image:

Seasonal and night variants
This is certainly one of the most challenging aspects of creating
custom ground textures, and only very good graphics artists can achieve
excellent results. Still, many people should be able to create quite
credible renditions.
The Night variant should not present major difficulties - basically,
load your source image in an image editing program, add a very dark
layer to most of the image, some less dark areas in lighted parts, then
selectively paint various parts of it a bright yellowish-white with
occasional bright spots representing street lights.
See the following textures for examples:
Summer

And the Night variant:

Perhaps, like mine, your results will not be as good as the default,
but it should be possible to create something very acceptable.
Seasonal variants, on the other hand, can be extremely difficult to do. Here are some examples:
Spring

Fall

Winter

Hard Winter (with snow)

You could try selecting the green pixels in your image. For the Spring
variant, slightly reduce the saturation. For the Fall variant, change
the hue to browns and yellows. For the Winter, reduce saturation much
more. And for Hard Winter, reduce saturation as much as possible and
add a whitish mask over certain parts - the default textures also seem
to enhance the roads.
This is a very difficult part of creating custom textures, and the reason why so few add-ons include seasonal variants.
Autogen annotations
Adding autogen can be pure drudgery, particularly over very large
areas. When we consider that there are about 8 000 default ground
textures and that the FS Team artists placed autogen on most of them
using the same manual tool that is in the S.D.K., it is a source of
wonder and respect. Try it and you will understand.
Many people prefer to fly without autogen, for different reasons, but
probably most users would rather have it on the ground. If you plan to
distribute your custom ground textures, then you should certainly
consider adding autogen.
Here is some custom ground, with and without autogen:


What one prefers is a matter of personal taste.
You can add autogen to custom ground with the Autogen Annotator, in the Autogen S.D.K. Please see Using the Autogen Annotator, that can be found in the Avsim library, for an illustrated explanation:
http://library.avsim.net/esearch.php?&DLID=107335
Because the FS X custom ground is now in the bgl, there are no
separate textures to load in the Autogen Annotator. Please remember to
load the bgl instead when annotating the ground.
However, the Autogen Annotation files must be in a separate Texture
folder (just as in FS 9) in order for the game to read them. So, make
sure to check that these annotation files are not in the Scenery folder
with the bgl.
Problems
Nothing in life is perfect, so here are some of the pitfalls of custom textures.
Image color correction
The commonly available images from Google and Virtual Earth often have
color casts that add unrealistic tints to the image. In particular, you
may find that these images are excessively blue and have some
dinginess. You will usually have to extensively process these images in
order to get acceptable sources.
This is an unedited Google image compiled and viewed in game. You can see the difference with the default ground textures:

The source image was then loaded in an image editing program, where a
lot of yellow was added, and the brightness augmented. The compiled
texture is now so similar to the default ground that the transition
between them is not easily visible, even without a Blend Mask:

Hydro Polygon flattens
In FS X, all Hydro Polygons have altitudes assigned to them. In
addition, rivers also usually have slopes. Neither the altitudes of the
sea, lakes, or rivers, or the slope of rivers are removed when covered
with custom ground textures. So, you may very well see strange
depressions in the ground that do not correspond to specific features
of your custom ground if it does not align with the default terrain.
For example, here are custom ground textures displayed in TMFViewer:

The default terrain is loaded over the image, and we can see where the default water will flatten the custom textures:

In game, the sloping coast is rendered flat at those spots, since the sea level altitude of the Hydro Polygon is still present:

The only solution is to exclude the default Hydro Polygons and draw new versions that align with the custom ground textures:

Once that is done, the altitude mesh will display correctly on the photo-real ground textures:

So, in many instances, when creating photo-real ground textures you
will have to do a lot of preliminary work in vector scenery that will
not be displayed, but only serves to remove the default terrain.
In the case of rivers and lakes, it may be sufficient to just exclude
the default Hydro Polygons. But, when dealing with coasts, you will
have to exclude the Hydro Polygons and draw new ones.
You will find an explanation of the necessary techniques in Terrain Design for Flight Simulator X, in the Avsim library:
http://library.avsim.net/esearch.php?CatID=fsxsd&DLID=100997
The use of SBuilderX for this purpose is also explained in the
document. Please note that the SBuilderX interface has undergone some
changes since that document was created, so there will be some minor
differences, but the methods remain essentially the same.
Null Value and Blend Mask
A Null Value is a specific color, painted on the source image, that
will be transparent and display the underlying default terrain. It must
be flagged in the inf file.
For example, a pure white border on the following source will be completely transparent if the inf file contains the NullValue = 255,255,255 flag:

However, if a Blend Mask is compiled at the same time, for example:

We could assume that the source image will gradually fade out to
display the default ground. But, it is not so. Here is the result as
viewed in TMFViewer:

The transparent (black) areas of the Blend Mask over the Null Value result in a black area in the custom ground.
What happens if the Blend Mask is reversed, so that opaque (white) areas will cover the Null Value?

The resulting custom ground is even stranger, with a red band around the texture:

So, we should conclude that Null Values and Blend Masks do not go
together very well. If you are using a Blend Mask, do not use a Null
Value in your source image. Let the Blend Mask handle the transparency.
Remove the NullValue parameter
from the inf file and do not paint in white the transparent parts of
the original image - the ground textures will then show
the correct gradation fading out to complete transparency:

Blend Mask and autogen
Custom ground will prevent the display
of the default autogen buildings and vegetation. If you use a Blend
Mask, the default autogen will be excluded up to the limits of the
transparent areas of your custom texture, but will display on the
semi-transparent parts.
This will create a problem if you attempt to
annotate your photo-real texture with the Autogen Annotator to replace
the default buildings and trees, because the Blend Mask will gradually
fade out your texture, making it very difficult to see where they
should be added. Therefore, if you intend to add autogen, it is best
to first create a version of the custom ground without a Blend Mask,
annotate that texture, delete it, and then create another version with
Blend Mask for use in game.
Multi-source maximum
As mentioned, a multi-source file can be used to put together multiple
source images into one single ground texture. This is handy when the
entire image is too large to be easily manipulated - just break it down
into smaller parts and let Resample join them.
It has been found, however, that there is a limit beyond which Resample
will not be able to work - more than a couple of hundred source files
may result in an error. As expected, Resample is limited by the amount
of memory available in your computer.
In addition, it has been reported that if the source files contain an
alpha channel that serves as a Water Mask, Resample will not create the
Water Mask in the final custom textures if there are more than a few
dozen sources. This still needs further testing to definitely confirm
the error.
Misaligned airports and terrain
Flight Simulator X terrain is more detailed and precise for certain
parts of the world than previous versions. Nonetheless, it will
probably not be perfectly aligned with your new custom ground.
This will be most particularly obvious at airports, since airport
reference information is not very precise. Your only recourse is to
re-design the airport facilities. Fortunately, there are FS X-specific
tools available for this:
- Jon Masterson's Airport Design Editor, that you will find at http://www.airportdesigneditor.co.uk/
- ZBlue Software's FSX Planner at http://www.zbluesoftware.com/fsxplanner
Also, the airport flatten and the default terrain may not match up to
your custom ground. You can easily change the vector terrain - please
consult
Terrain Design for Flight Simulator X, that you can find in the Avsim library:
http://library.avsim.net/esearch.php?CatID=fsxsd&DLID=100997
Using SBuilderX
SBuilderX by Luis de Sá is a comprehensive and very powerful
scenery design tool that is extremely easy to use. It is available for
download from the Avsim library:
http://library.avsim.net/esearch.php?CatID=fsxsd&DLID=106143
At the moment, there is no Help file for the program, but, except for
the new vector and custom ground features, most of SBuilderX works
exactly the same as the previous version for FS 9. So, you can simply
download that version of SBuilder from the Avsim library and use its Help file for more
information on the functions of SBuilderX.
Making photo-real ground textures with SBuilderX is particularly easy.
The program features an automatic image server function that will
retrieve images from a number of web sites, including Google
Earth and Microsoft Virtual Earth. These images are displayed in the
SBuilderX workspace, and the user need only select the images desired,
and then SBuilderX will compile and create the custom ground textures.
SDK Tools
SBuilderX uses the Flight Simulator X tools for compilation of
projects. When installing SBuilderX, it copies those tools from the SDK
directories to the SBuilderX directory.
This means two things:
1. if you do not have the Deluxe version of FS X,
then you will not have the SDK and its tools. Therefore, you cannot use
SBuilderX;
2. if you install updates to the SDK after having
installed SBuilderX, then you should remember to manually copy the new
versions of the SDK tools to the SBuilderX directory in order to
benefit from any bug fixes or new features.
Create a new project
To create a new project, go the to File menu:

In the dialogue, give your project a name. Please note that this name
will be given to all scenery compiled with SBuilderX, except for custom
ground textures and land and water class files.

In general, please avoid short or cryptic names for your scenery files.
If you distribute your scenery, such names will only confuse users.
File names in Windows can have up to 255 characters, so please be as
descriptive as possible.
SBuilderX can also copy the compiled scenery file to a folder of your
choice, for example the Addon Scenery folder within the FS X directory.
If you wish, you can enter that directory path in this dialogue.
While you are at it, you may as well save your project right away. Go to the File menu and select Save As...

Choose a descriptive name and don't forget to save your work often.
Using the SBuilderX tile server
SBuilderX contains a tile server function integrated directly into the program.
SBuilder itself will not access any particular tile server, however,
without the use of specific server dlls. There is a package of
third-party image server dlls, that are in the public domain, that can
be used by the SBuilder tile server in order to download images from
various image server web sites: Ask, Google Earth, Microsoft Virtual
Earth, and Yahoo. These dlls allow access to both the aerial (or
satellite) image and map image servers of these image providers.
These third-party server dlls are made available to all users of
SBuilder. Please note that all images are licensed copyrighted material
and may not be used without the permission of their respective owners.
To use the tile server function within SBuilderX, make sure that the
various image server dlls are in the SBuilderX\Tiles folder.
After launching SBuilderX and starting a new project, or loading an
existing project, go to the Edit-Preferences menu and you will see this:

Select the image server of your choice and make sure to check the "Use xxx server" option.
Then, select the View-Show Background menu, and if you have an active
Internet connection, SBuilderX will immediately start downloading
images at the location and zoom level indicated in the status bar.

You would do well to pan around and obtain the images for the entire
coverage of your project. Also, it will be easier to zoom in to your
area, and to create custom ground textures, if you obtain images of
your project at various zoom levels.
If for some reason certain tiles are not downloaded, SBuilderX will display a "Failed to download" image in its place.

This can arise for different reasons:
- there are no images for that area, or at that zoom level;
- some problem while downloading. If you are sure that there are tiles
available, you can force SBuilderX to re-load those areas by going to
the Preferences window and confirming your choice of server by clicking
"OK".
- certain image servers, such as Google, limit the quantity of images
downloaded, probably for reasons of cost. In this case, just try again
some other time.
Making custom textures
SBuilderX will create custom ground directly from the background image. There are different methods:
1. A quick and simple method - SBuilderX will take the images in the
present workspace and automatically convert them into a custom ground
bgl.
The SBuilderX workspace is 1792 x 1280 pixels in size and that will be
the extent of the custom ground, although the resolution will depend on
the zoom level of the background.
SBuilderX will also apply a simple blend mask that will blend the
custom ground into the default textures along a thin band on the edge
of the image.
To create custom ground textures by this method, right-click on the SBuilderX workspace:

Select the "Background ..." option to get this window:

You will have 2 options: either immediately compile the custom ground
from the workspace, or save that workspace as a GeoTIFF image file.
By selecting "Compile", SBuilderX will launch the Microsoft Resample program and create the custom ground bgl:

The compiled bgl will be placed in the SBuilder X\Tools\Work folder.
Once your custom ground file has been created, you can change the name
of the bgl to something more descriptive.
2. The second method for creating custom ground textures - you can
select the precise area for which you want custom ground, SBuilderX
will make it into a "Map" (with its own calibration text file), and
that "Map" can be selected and compiled into a bgl. The Map can also be
edited to correct colors, add transparent areas, or as a basis for
creating blend masks and water masks.
First, you should zoom out so that the entire area of your choice is
visible in the SBuilderX workspace. Then, go to the File-Add Map-From
Background:

This will bring up a selection window:

You can draw a selection rectangle directly over the image to select the area desired, and also choose the zoom level you want.
Once you have done so, Builder X will create a "Map" of this size and
with this coverage, and display it in the workspace instead of the
Background image
IMPORTANT: SBuilderX will create a
24-bit bitmap (BMP) of your selection, and this can exceed the
available memory in your computer if your selection is too large. When
this happens, SBuilderX will return an error message and refuse to
display the Map. You can either add more memory to your computer or
make smaller selections.
Any part of the selection for which there are no tiles will display in
pure white (RGB values = 255,255,255) and will serve as a Null Value,
that is, will be completely transparent and display the underlying
terrain.
Be careful, as other parts of the image may also have pure white
pixels, and they too would be completely transparent, so you may want
to edit the Map in any image editing program first before compiling
into custom ground.
If you right-click on the edge of the Map, you can bring up its Properties window:

Note that SBuilderX will give the Map a name that begins with "Photo".
This is the name that will be given to the final bgl. You can change
the name of the Map to anything that you wish, but it must start with
"Photo" so that SBuilderX can recognize it as a source for custom
ground. Once the bgl has been created, you can change its name.
If you decide to use the Map to create seasonal or night variants of
the image, you can indicate them in the second tab of the Map
Properties window:

To add blend masks or water masks to your custom ground, you can create
them using the original image as a basis, and then save them with the
same name, but using a suffix to indicate this. The files should be
saved as TIF images, for example:
original image - L17X132735X132743Y90177Y90183.BMP
blend mask - L17X132735X132743Y90177Y90183_B.TIF
water mask - L17X132735X132743Y90177Y90183_W.TIF
Make sure that those files are in the SBuilderX\Tools\Work folder even
if the original image is in another folder, and SBuilderX will
automatically integrate the blend and/or water mask in the custom
ground.
A word about Compression Quality: FS X allows for varying the
compression of the final bgl. It has been determined that reducing the
Compression Quality parameter from 100 to 85 will greatly reduce the
size of the final bgl (up to a quarter of the original size). You can
change the Compression Quality in the SBuilder.ini configuration file.
To create the custom ground bgl, simply select the Map (either by
clicking on its edge, or by using the Select menu) and click on the BGL
Compile icon (the green arrow) on the tool bar, which will bring up the
Compile window:

The compiled bgl will be created in the scenery folder you indicated
when creating the project and, in all cases, in the SBuilder
X\Tools\Work folder.
Changes to the SBuilderX ini file
The SBuilderX ini file is located in the root SBuilderX folder, and you
can make certain modifications to it according to your needs:
1. [Tiles]
CompressionQuality=100
Modify this value for greater
compression of the final bgl. 100 is the maximum and 75-85 seems to
give good results.
2. HardWinterVariations=January
WinterVariations=December,February,March
FallVariations=October,November
SpringVariations=April,May,June
SummerVariations=July,August,September
Change these entries to have seasonal variants appear on different
months. Please note that FS X seasons begin on the first day of each
month, unlike FS 9.
Other scenery modifications
SBuilderX is a complete scenery design tool and can be used to modify and create:
- vector terrain (roads, freeway traffic, water bodies, shorelines, terrain exclusions, etc.)
See the explanation of the necessary techniques in Terrain Design for Flight Simulator X, in the Avsim library:
http://library.avsim.net/esearch.php?CatID=fsxsd&DLID=100997
- land and water class;
- object placement (including all default FS X
objects, FS 9-style models, API and ASD macros, RWY12 objects, taxiway
signs, windsocks, etc.);
- object exclusions
For more information on these functions, please consult the Help file
for SBuilder for FS 9 that can be downloaded from the Avsim library.
Having a calibrated aerial image as a background will greatly help in
the accurate creation and placement of these elements. For example,
freeway traffic can be drawn and will display over your custom ground
in game.
Support
I am, unfortunately, unable to offer support of any kind for lack of
free time. Please do not write as I cannot answer any messages.
But, if you do have any questions, please do not hesitate to visit the Avsim scenery design forum at:
http://forums.avsim.net/dcboard.php?az=show_topics&forum=123
For questions or problems concerning SBuilderX, you can consult the very excellent
SBuilderX forum that is located at:
http://www.ptsim.com/forum/forum.asp?FORUM_ID=22