- targetR = random() % 256;
- targetG = random() % 256;
- targetB = random() % 256;
- deltaR = (targetR - currentR) / changetime;
- deltaG = (targetG - currentG) / changetime;
- deltaB = (targetB - currentB) / changetime;
+ int luminance = 0;
+
+ while (luminance <= 150) {
+ targetR = random() % 256;
+ targetG = random() % 256;
+ targetB = random() % 256;
+ deltaR = (targetR - currentR) / changetime;
+ deltaG = (targetG - currentG) / changetime;
+ deltaB = (targetB - currentB) / changetime;
+ luminance = 0.3 * targetR + 0.59 * targetG + 0.11 * targetB;
+ }