Transparency |
Extended Bitmaps and FS2000 |
Transparency in Extended bitmaps takes two forms.
16 bit Transparency Channel
The 16 bit 444 Bitmaps have a 4 bit Transparency channel which maps the "transparency level" of every pixel in the bitmap. This is a method commonly used with many Bitmap formats and is implemented in the FS2000 bitmaps as a simple Alpha channel. The main use for it in FS2k is for creating the varying transparency levels in the textures for Propellors, Clouds and Halos.
8 bit Palette Transparency
This is a totally new method of applying transparency levels to the colour entries in the 256 colour palette of a colourmapped image. Discovered by Neil Park after a lot of work. The standard "Windows Bitmap" Bmp format has always used 4 bytes for each colour in a palette. 3 bytes set the BGR values of the colour and the 4th byte has always been "padding" to align each colour on an even boundary when loaded into memory for more efficient processing. This "padding" byte is usually set to zero and is universally ignored by Graphics programs. Neil discovered that if you set all the padding bytes to 255 then change the padding byte of one colour entry to some other value then that colour will have a partial-transparency dependant on what you set the byte to - zero gives totally transparent, 255 gives totally opaque and values inbetween give a proportional amount of semi-transparency. He further found that you could set the transparency level of as many colours as you want just by setting the appropriate padding byte to your chosen transparency level. This is a very versatile system. It is a pity that the only place this system has any effect is in CFS/FS2000 because it would make a useful alternative to the transparency offered by the Gif format for general use.