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;
 }