DXTBmp
General 16/32 bit Texture Manipulator for FS2002, FS2000,CFS2 and CFS3
16/32 bit Texture Formats Supported Load Formats Supported Save Formats |
The Menus Editing an Image |
Alpha Channel Mips Preview |
Compatibility Copyrights Updates |
16/32 bit Texture Formats in Flight Simulator and CFS2
FS2000 introduced several new texture formats for Aircraft and Objects. Expanding on the 8 bit Extended Bitmap format introduced in CFS it added the increased colour depth of 16 bit (65536 colours) and larger texture sizes (up to 1024x1024 and also non-square). These 16 bit textures came in 2 main variations - pure 565 for normal textures and 4444 (4 bit transparency) for textures requiring an Alpha channel (mainly Clouds but also used for some objects requiring transparent parts).
The Beta version of CFS2 introduced another format - 5551 (1 bit Transparency) which is not supported by FS2000.
The Release version of CFS2 replaced the 565 and 5551 formats with a new compressed format. Instead of four 565 "Normal" and four 5551 "Damage" 512x512 textures for each of the main Aircraft it uses one DXT Opaque "Normal" and one DXT Opaque+Alpha "Damage" 1024x1024 texture for each Aircraft. Because these are compressed they are each the same filesize as just one of the old 512x512 textures giving a saving of several megabytes for each Aircraft.
CFS2 also supports another new format - DXT3. This doesn`t seem to be used in any standard textures but will work. DXT3 is a combination of DXT1 with a 4 bit Alpha Channel. Basicly giving the functionality of the 444-4 format with 50% compression.
Both FS2000 and CFS2 support a 32 bit 888-8 format also. This has 24 bit RGB with an 8 bit Alpha channel
FS2002 continues the use of DXT started by CFS2. The DXT3 format is used in the default Aircraft to add Reflective values to a texture using the Alpha channel. This feature relies on the internal coding of the MDL so Aircraft created with FSDS will see the DXT3 Alpha channel as a normal Transparency channel while FS2002 Default Aircraft (and possibly new Aircraft created with the GMax design program) will see the Alpha channel as a "Reflection map".
CFS3 took a new direction and wen over almost exclusively to DDS format for textures. It also extended the use of DXT by adding DXT5.
See also :
Texture Formats used in FS2002
Texture Formats used in FS2004
Formats Supported by Simulators
Not all the available formats are supported by all versions of the Microsoft Flightsims. No version before FS2000 will support 16/32 bit textures at all. Note that CFS3 uses DDS for these formats rather than BMP. Bmp files will not generally work in CFS3
Format |
FS2000 |
FS2002 |
CFS2 |
CFS3 |
|
||||
565 |
YES |
YES |
YES |
YES |
555-1 |
NO |
YES |
YES |
YES |
444-4 |
YES |
YES |
YES |
YES |
DXT1 |
NO |
YES |
YES |
YES |
DXT3 |
NO |
YES |
YES |
YES |
DXT5 |
NO |
NO |
NO |
YES |
888-8 |
YES |
YES |
YES |
YES |
Load Formats Supported by DXTBmp
Currently DXTBmp has 4 Load options in the File Dialog
Extended Bitmap | This will sample the chosen file and decide if it is one of the supported Formats ( DXT1, DXT3 , 565, 5551, 8888 or 4444) and load it if it is. If it is not recognised as an extended 16/32 bit image then you will be offered the option to load it as a normal image. |
DDS Texture | This will attempt to load DDS images in 565, 555-1, 444-4, DXT1, DXT3, DXT5 and other formats. Note that DDS images are stored upside down (compared with Bmp) so may need flipping once loaded if you are going to save them again in Bmp formats |
Targa with Alpha | This will load Targa files in 32 bit format as 24 bit RGB and 8 bit Alpha. Mainly designed for reloading images saved from DXTBmp using "Save Targa Image". Very little error checking is done so if loading Targa Images from other sources you must ensure they are Targa 32bit and in a "power of 2" width and height |
Any Image file | This will load any mwgfx-supported image file. The image will be resized so that it will be a valid "power of 2" size in width and height if necessary. Images will also be converted to 24 bit for viewing and editing. An alpha channel will be created using any pure black as transparent. |
Any File | Just a "Last Resort" option. Basically the same as "Any Image file" but with the search pattern allowing any file extension. There are some files such as the old Flight Simulator R8 ones that don`t have a specific fixed file extension and so won`t be detected as image files. Use this option to load them.. |
Save Formats Supported by DXTBmp
Extended Bitmap | This will allow the saving in any of the supported Extended Formats. Select the required format from the "Save as Type" drop-down list in the Save Dialog |
Save DDS Image | This will save the current image and alpha channel as a DDS file.Select the required format from the "Save as Type" drop-down list in the Save Dialog |
24 bit Image | Will save the current image as a normal 24 bit Bmp. Useful if you want to take the image elsewhere for further editing (reimport later using "Any Image file") |
Targa with alpha | This will save the current image and alpha channel as a 32 bit Targa file. Useful if you want to take the image elsewhere for further editing. You will require a paint program that supports Alpha channels like PhotoShop. Targa is also useful for saving a Master copy of your image as it contains all the data of image and alpha. If you wish to re-edit one of your textures later it is better to load the Targa version. Repeatedly re-editing 16 bit or DXT formats will eventually lead to image degredation. |
ACE DXT1 Texture | This will save a DXT1 or DXT1a texture in TrainSimulator Ace format. Note that Ace textures must be square! |
The following Extended BMP formats and DDS formats are supported by DXTBmp
BMP | DDS | ||||||
555-1 |
YES |
|
YES |
Load | Loaded as RGB image plus Alpha channel | ||
|
YES |
|
YES |
Save | Saved by combining the current RGB image with the current Alpha channel reduced to a 1 bit (on/off) Alpha | ||
|
|
|
|
||||
565 |
YES |
|
YES |
Load | Loaded as RGB image with fully opaque Alpha channel | ||
|
YES |
|
YES |
Save | Saved from the current RGB image. Alpha channel ignored | ||
|
|
|
|
||||
444-4 |
YES |
|
YES |
Load | Loaded as RGB image plus Alpha channel | ||
|
YES |
|
YES |
Save | Saved by combining the current RGB image with the current Alpha channel reduced to a 4 bit (16 level) Alpha | ||
|
|
|
|||||
DXT1 |
YES |
|
YES |
Load | Loaded as RGB image with fully opaque Alpha channel | ||
YES |
|
YES |
Save | Saved from the current RGB image. Alpha channel ignored | |||
|
|
|
|
||||
DXT1a |
YES |
|
YES |
Load | Loaded as RGB image with any Transparent pixels displayed in the Alpha channel as Black. | ||
YES |
|
YES |
Save | Saved by combining the current RGB image with the current Alpha channel reduced to 1 Bit | |||
|
|
|
|||||
DXT3 |
YES |
|
YES |
Load | Loaded as RGB image with full 8 bit Alpha channel | ||
YES |
|
YES |
Save | Saved by combining the current RGB image with the current Alpha channel reduced to a 4 bit (16 level) Alpha | |||
|
|
|
|||||
DXT5 |
YES |
|
YES |
Load | Loaded as RGB image with full 8 bit Alpha channel | ||
YES |
|
YES |
Save | Saved by combining the current RGB image with the current Alpha channel. | |||
|
|
|
|||||
32bit 888-8 |
YES |
|
YES |
Load | Loaded as RGB image with full 8 bit Alpha channel | ||
YES |
|
YES |
Save | Saved by combining the current RGB image with the current Alpha channel | |||
|
|
|
|||||
8bit Colour |
NO |
|
YES |
Load | Loaded as RGB image with full 8 bit Alpha channel | ||
YES |
|
YES |
Save | Saved by combining the current RGB image with the current Alpha channel and creating a suitable palette with appropriate transparency settings |
Many of the formats support varying levels of transparency. This is displayed as an "Alpha Channel" which is represented as a 256 greyscale image. When saving an image this Alpha will be reduced to the appropriate number of transparency levels. 555-1 uses a simple on/off transparency and 444-4 and DXT3 formats have a 4 bit Transparency giving 16 levels of transparency. 32 bit has a full 8 bit Transparency. This will be displayed (if selected from the Prefs menu) as a greyscale image where White is 100% opaque and Black is 100% transparent with levels of grey representing increasing levels of transparency.
DXT1a (Opaque+Alpha) also has a 1 bit transparency that will be displayed in the Alpha.
The Alpha menu has several options for creating Alpha channels for the currently loaded image.
Create Alpha channel (green) |
This will create a new alpha channel where all pure green(0,255,0 RGB) in the main image will be interpreted as transparency | |
Create Alpha channel (black) |
Similar but using pure black (0,0,0 RGB) to identify the transparency. |
An Alpha Template can also be created for easier identification of the parts of the image you want to make transparent.
Use the Prefs "Display Alpha Channel" option to Show/Hide the thumbnail display of the current Alpha channel
The Alpha channel can be saved independently by using the "Export Alpha Channel" option. This will save the current Alpha as a 256 greyscale bmp image.
A new Alpha channel can be imported to replace the existing one. This can be in any image format but will be converted to 256 greyscale upon loading and be resized (if necessary) to match the current image size.
When you load a Normal image an Alpha channel will automatically be created using any pure black (0,0,0 RGB) as transparent. You can also do this manually at any point by using "Create Alpha Channel (Black)" from the Alpha menu.
Another method for creating an Alpha Channel is to use the "Create Alpha Template" option from the Alpha menu.
This will create a greyscale version of the main image as the Alpha channel. If you then send this to Editor you can paint in the required transparencies using the grey image as a guideline. Using it as a guide you should paint the parts you want fully transparent in Black (0,0,0) then paint over the rest of the image in white (255,255,255). If you want partial transparency then use intermediate levels of grey in the required places.
Mips are the multiple sub-images contained in an Extended Bitmap or DDS texture. For any given size of texture the file will also include a chain of images each half the size of the previous one. A 512x512 image will also contain a 256x256 version, a 128x128 version and so on right down to 1x1 (or 4x4 for DXT as this works with 4x4 pixel blocks)
All Extended and DDS formats are saved with Mips. This may be switched off using the "Include with save" checkbox in the MipMaps section of the right toolbar. It is recommended that you only switch this off when you have a particular need. All games and Flightsims are designed to run best with mipped images for most textures.
Once an Image has been loaded into the program via any method it can be sent to any suitable Paint Program for editing by selecting "Send to Editor" from the Image menu. The image will be passed over in 24 bit format and can be edited using any of the paint programs tools. Once editing has finished you must "Save" the changed image from the paint program. The easiest way to make sure the correct file is saved to is to close the paint program and OK the box that will pop up saying "Do you want to save......"
Back in DXTBmp the changed image can be reloaded by selecting "Reload after Edit" from the "Image" menu.
The same process can be carried out on the Alpha channel by using the similar options on the Alpha menu.
The default Paint Program when first installed will be MSPaint. You will want to change this!!! Recommended paint program - PaintShopPro (but any paint program with good Photo-editing tools will do)
Changing the Editing Paint Program
When first run the default Editing program will be set as MSPaint. This is not really suitable for editing full colour images so you will want to change this if you have a better Paint Program available on your system. Use "Select Editor" from the Prefs menu to browse to a more suitable program and select the exe file (eg psp.exe for PaintShopPro). Most paint programs should work
The Editor can be changed by selecting the option from the Prefs menu or clicking on the button displaying the Icon of the currently selected editor below the Alpha display (if on)
The nVidia codec offers an option to Dither images during the save process. Depending on the image and the save format this may give better visual results.
Use the MipMaps "Use 16 bit Dither" option to switch this feature on or off. Check the results before saving by Previewing the saved image.
The codec also now includes options to adjust the way mipmaps are generated. Options are available in the MipMaps section to change the type of scaling method used and also to apply specific processing functions to each mipmap. Experimentation may be required to find the best combination for your needs.
Many menu functions can also be accessed from Toolbar buttons. The Toolbars can be switched on/off from the Prefs menu or by double-clicking the Status bar at the bottom of the DXTBmp window.
All buttons will show a "Hint" describing their function if you hold the mouse over them for a second. If this Hint has (options) in it then further options can be obtained by clicking the Right mousebutton on the button.
There are also Menu/Toolbar options to Flip the Image top/bottom. This may prove useful if DDS images are loaded as DDS images have their data stored the other way up to BMP images so the conversion during loading may leave with an upside-down image. Flipping can be performed on the Main image, the Alpha or both.
Similar options exist to Mirror the image and alpha. This will flip them Left/right. It may prove useful either for making mirrored copies of your texture or for temporarily changing reversed images for easier editing (and changing them back afterwards).
Because even the uncompressed save formats will be of reduced Colour depth compared with a 24 bit original it can be useful to see what effect a particular save format may have on the texture.
The Preview menu/toolbar options will let you view a "finished" version of the chosen format for assessing quality levels. A preview window will appear with the Preview loaded and you can zoom in on the detail using the mouse buttons (left button to zoom in, right button to zoom out). Different mips can be viewed by using the number gadget on the toolbar.
The "Lock Display size" gadget will fix the current display so you can cycle through the mips and see the effect of the size reduction. If this gadget is off then cycling through the mips will show them at the current zoom level.
The "Reset" button will reset the preview display to the largest mip at 100% (full size) zoom
The "Preview Transparency" option (on the Preview menu, on the Preview Button options or on the Alpha button bar) will display a version of the Main image against a white background with the transparency present in the current alpha channel applied.
DXTBmp.exe and mwgfx.dll are Copyright (c) 2000,2001,2002 Martin Wright
mwdds.dll contains some code from the nVidia nvDXTlib codec. This was written by the nVidia Corporation and is distributed with the declaration that they are not liable for any problems caused by 3rd party use of the code. They supply it as an assistance to developers. Any problems or bugs should be reported to me.
You may use these files to Edit or Create Texture files for your own personal use or for distributing as Freeware.
No Commercial Distribution of Files created with DXTBmp.exe is allowed without prior permission.
Please bear in mind the Original copyrights belonging to any Image you edit. Image copyrights will remain with the original creator.
No Redistribution of DXTBmp.exe or any files in this package is allowed in any form without permission
Any updates to Program or DLL files will be posted on the MWGraphics website http://fly.to/mwgfx/
Selecting "About" from the File menu will bring up a Window with details about the program and the versions of the various Dlls installed on your system. There is also a button to take you to the website