1 2enum { 3 COLOR_BLACK = 0, 4 COLOR_RED, 5 COLOR_GREEN, 6 COLOR_YELLOW, 7 COLOR_BLUE, 8 COLOR_MAGENTA, 9 COLOR_CYAN, 10 COLOR_WHITE 11}; 12 13static float RGBMap[9][3] = { 14 {0, 0, 0}, 15 {1, 0, 0}, 16 {0, 1, 0}, 17 {1, 1, 0}, 18 {0, 0, 1}, 19 {1, 0, 1}, 20 {0, 1, 1}, 21 {1, 1, 1}, 22 {0.5, 0.5, 0.5} 23}; 24 25static void SetColor(int c) 26{ 27 if (glutGet(GLUT_WINDOW_RGBA)) 28 glColor3fv(RGBMap[c]); 29 else 30 glIndexf(c); 31} 32 33static void InitMap(void) 34{ 35 int i; 36 37 if (rgb) 38 return; 39 40 for (i = 0; i < 9; i++) 41 glutSetColor(i, RGBMap[i][0], RGBMap[i][1], RGBMap[i][2]); 42} 43