- uint16_t r = (uint16_t)(unp->r * 255.0f);
- uint16_t g = (uint16_t)(unp->g * 255.0f);
- uint16_t b = (uint16_t)(unp->b * 255.0f);
- if(r > 255) r = 255;
- if(g > 255) g = 255;
- if(b > 255) b = 255;
- *pix++ = (r >> 3) | ((g & 0x3f) << 2) | ((b & 0x1f) << 8);
+ uint16_t r = (uint16_t)(unp->r * 31.0f);
+ uint16_t g = (uint16_t)(unp->g * 63.0f);
+ uint16_t b = (uint16_t)(unp->b * 31.0f);
+ if(r > 31) r = 31;
+ if(g > 63) g = 63;
+ if(b > 31) b = 31;
+ *pix++ = (r << 11) | (g << 5) | b;