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