15-bit mode is often found on older video cards. 15-bit pixels take up exactly as much space as 16-bit pixels. Due to confusion with 16-bit mode, 15- and 16-bit modes are usually just called collectively 'High color,' Or 'Thousands of colors.'

One fifteen-bit pixel looks like this:

||    |    \Blue bits (five)
||    \Green bits (five)
|\Red bits (five)
\Alpha bit

In most cases the alpha bit is ignored. This leaves us with 32 possible shades of red, 32 possible shades of green, and 32 possible shades of blue. So, the total number of colors possible in a 15-bit pixel is 32768. (But only 32 separate shades of pure gray!)

15-bit mode is also called '555' mode after the number of bits allotted for each color channel.

The distinction between 15-bit and 16-bit graphics is irritating. In DirectDraw (a subcomponent of DirectX), if you request a 16-bit surface, you might get a 15-bit surface, depending on the hardware. This means that you need to do further tests to discover the true color depth of your surface. So, if you program in 16-bit mode, you also must support 15-bit mode. Which means you need to write two versions of every graphics routine, create a wrapper class, make clever use of function pointers, or do something tricky like creating a three dimensional color lookup hash table. Mmm. Three dimensional color lookup hash table.