Change List
A list of changes made to this document.
Version |
Date |
Revision |
1.0 |
08/08/2016
|
Initial document.
|
1.1 |
15/08/2016 |
Added known issues section.
|
|
|
|
Introduction
Gauge rendering in aircraft simulators built on prior versions of this engine was done using the GDI library. We have moved
away from GDI and now use DirectX for gauge rendering in order to release the
CPU from 2D graphics operations. This change has had an impact on a number of
the XML gauges syntax.
Jobs
The main function of the gauge converter is to take XML gauge files written for aircraft simulators built on prior versions of this engine and convert them to the format required for the new platform, which is very close to the previous format.
The other function
of the converter is to create texture atlases. In order to keep GPU draw calls
minimum, small BMPs are packed in bigger textures.
Modified
XML tags
-
Image: Region
tag introduced to identify the coordinates (top-left, top-right, bottom-right,
bottom-left) of the image in a texture atlas.
- Mask
Image: Mostly unsupported for the time being. At the moment, they are converted
to rectangle clipping of the size of the image.
- RelativeClipping:
Unsupported, the tag is removed in the converted XML.
- Bright
tag: This tag is left untouched however its meaning has changed. When bright
tag is used on an image, it indicates that the image will only be rendered in
the emissive pass. See below for more information about emissive textures.
Input/Output
The only input required
for the GaugeConverter is the path to the original XML file. For example, open
a command window and type "GaugeConverter.exe C:\dev\MyGauge.xml".
You can also drag and drop the XML file on the GaugeConverter executable to
start the process.
If the conversion
is successful, several files will be created:
- The
exported XML file will have the same name as the original with "_d3d"
before the extension. Example: "MyGauge_d3d.xml". The original file
will be untouched.
- A log
file will also be created. Example: "MyGauge_conversion_log.txt".
This will contain various information, warnings and errors that happened during
the conversion process.
- And
finally one or multiple textures atlases. Each atlas is exported in BMP and DDS
format Example "MyGauge_atlas_0_D.bmp” and “MyGauge_atlas_0_D.DDS".
The engine only uses the DDS file but the BMP is also useful if you need to
make changes to the art. If any manual change is made to the BMP atlas, it then
must manually reconverted to DDS format (DXT3 if you don't need alpha or DXT5
otherwise). Note the "_D" and "_E” at the end of texture atlas
names. These letters correspond to Diffuse and Emissive textures.
All the images tagged Bright or with _night filename are packed in emissive
texture atlas. All the others go in diffuse textures.
Arguments
Arguments are
optional parameters which can be given to the exporter after the xml file path.
They are case sensitive.
- -keep_black_opaque:
By default the converter will assume that pure black colours are transparent.
This behaviour originates from legacy code in the engine. To avoid black being
converted to transparent use this argument.
Diffuse and Emissive Textures
Previous titles built on this engine use two sets of BMPs; one for day and one for night. Both sets are used as diffuse textures. During night time, day textures are swapped for night textures. Going forward, night or bright images are packed in emissive texture maps. They are
then added on top of the diffuse in the pixel shader. For this reason, emissive
texture atlases generated by the gauge converter will give a very bright result
in the engine. This is because the original night or bright textures also
contain diffuse information which will be added again on top of the day
(diffuse) texture. Unfortunately there is no automated process to remove the
diffuse information of generated emissive textures and some manual work from an
artist is required.
Batch Convert
- batch_convert.bat:
is a script which provided with a folder path, will convert all xml at the
specified location.
Example
"BatchConvert.exe C:\dev\MyGaugesFolder"
Known Post-Conversion Issues
- Converted images with a width or height bigger
than 4096 pixels will not load. Most of images found above this dimension are
used for altimeter or airspeed ladders. These are usually seen as long strips.
Unfortunately there is no solution yet to convert properly these images. The
way to rework them is to create only a graduated ladder which can wrap around
and render the text corresponding to the graduation as a gauge string. These
steps involve rewriting the gauge element in the xml.
Back to top
|