0.0 -> (0, 0, 128) (dark blue) 0.25 -> (0, 255, 0) (green) 0.5 -> (255, 255, 0) (yellow) 0.75 -> (255, 128, 0) (orange) 1.0 -> (255, 0, 0) (red) color = 1 / 5 * (0, 0, 128) / 0.25 + 4 / 5 * (0, 255, 0) = (0, 204, 26) if(intensity <= 0.25) { p->r = 0; p->g = 0; p->b = (intensity) * 4 * 255; return; } if(intensity <= 0.5) { p->r = 0; p->g = (intensity - 0.25) * 4 * 255; p->b = 255; return; } if(intensity <= 0.75) { p->r = 0; p->g = 255; p->b = (0.75 - intensity) * 4 * 255; return; } if(intensity <= 1.0) { p->r = (intensity - 0.75) * 4 * 255; p->g = (1.0 - intensity) * 4 * 255; p->b = 0; return; }