TEXTURE XML PROPERTIES
The <texture_filename>.<extension>.xml
file goes in the Texture
folder beside the other files for the object textures. This file is only required for Scenery Object and SimObj Object textures, and each texture requires an accompanying XML file.
NOTE: This file should not be added or edited manually. Instead the file should be created/edited using the Texture Tool. The information on this page is provided solely for reference.
This file is formatted as follows:
<BitmapConfiguration>
<BitmapSlot>
<!-- TEXTURE SLOT HERE -->
</BitmapSlot>
<UserFlags Type="_DEFAULT">
<!-- FLAGS HERE -->
</UserFlags>
<ForceNoAlpha>
<!-- ALPHA TOGGLE -->
</ForceNoAlpha>
</BitmapConfiguration>
<BitmapConfiguration>
This is a container element - with no attributes - for the following sub-elements that define the way the texture will be handled in the simulation:
<BitmapSlot>
This is a sub-element of <BitmapConfiguration>
and has no attributes. It is used to specify what "slot" the texture occupies within the material shader. The table below gives the available values and their corresponding slot in the Plugins materials:
BitmapSlot String | Plugin Texture Slot |
---|---|
MTL_BITMAP_DECAL0 | |
MTL_BITMAP_METAL_ROUGH_AO |
Occlusion(R) Roughness(G) Metallic(B) |
MTL_BITMAP_NORMAL | |
MTL_BITMAP_EMISSIVE | |
MTL_BITMAP_ADD_DECAL0 | |
MTL_BITMAP_ADD_METAL_ROUGH_AO |
Detail Occlusion(R) Roughness(G) Metallic(B) Detail Reflection (R), Detail Roughness (G), Detail Metallic (B) |
MTL_BITMAP_ADD_NORMAL | |
MTL_BITMAP_BLENDMASK | |
MTL_BITMAP_OCCLUSION | |
MTL_BITMAP_WINDSHIELDDETAILNORMAL |
|
MTL_BITMAP_SCRATCHESNORMAL |
Scratches Normal |
MTL_BITMAP_IRIDESCENTTHICKNESS | Iridescent Thickness (R) |
MTL_BITMAP_DETAIL_METAL_ROUGH_AO | Melt pattern(R) Roughness(G) Metallic(B) |
MTL_BITMAP_CLEARCOATCOLORROUGHNESS | |
MTL_BITMAP_CLEARCOATNORMAL | ClearCoat Normal |
MTL_BITMAP_ANISO_DIR_ROUGH | Anisotropic Direction (RG), RoughnessY (B) |
<UserFlags>
This is a sub-element of <BitmapConfiguration>
and is used to specify the FLAGS for the texture. This element has the following attribute:
Attribute | Description | Type | Required |
---|---|---|---|
type |
The type of FLAGS. This must be "_DEFAULT" | String | Yes |
Flags are added by concatenating strings using the "+" sign. Note that the string must also start with a "+", for example:
<UserFlags Type="_DEFAULT">
+QUALITYHIGH+ALPHAPRESERVATION+NOMIPMAPS+ANISOTROPIC=0
</UserFlags>
The available FLAGS are:
Flag | Compiler behavior | Sim behavior | Rendering side-effects |
---|---|---|---|
QUALITYHIGH | Uses a higher compression quality, if applicable. Some texture usages already compile to the highest available quality (such as normal map textures). | N/A | Increased memory usage, slower rendering, less compression artifacts. |
ALPHAPRESERVATION | Computes mipmaps in a way such that the ratio of transparent/opaque pixels is maintained. This is important for textures that act as alpha masks, to prevent averaging the opacity between neighbouring pixels. | N/A | Sharper alpha masks. |
NOREDUCTION | N/A | Disables unloading MIP levels based on quality settings. | Increased memory usage and higher quality on lower graphics settings. |
NOMIPMAPS | N/A | Disables the use of mip-maps. | Increased memory usage and higher quality on lower graphics settings, but requires extra processing. |
PRECOMPUTEDINVAVG | Computes the inverse average of the texture, per mipmap, and stores it with the texture. | Allows the simulation to read the inverse average color per MIP. Used for setting the ground texture colour of certain elements (for example, the aprons in an airport). | N/A |
ANISOTROPIC | Sets the anisotropic level for the texture. This must always be last in the concatenated string and is followed by an "=" sign and the level. | Sets the anisotropic level for the texture. | N/A |
<ForceNoAlpha>
This is a sub-element of <BitmapConfiguration>
and has no atrtributes. It is used to specify whether the texture should be rendered with the alpha component intact (false) or not (true). For example:
<ForceNoAlpha>
true
</ForceNoAlpha>
Note that if this element is not included in the XML then the default setting is "false".