tests: need tkmap.c for prim.c
authorBrian Paul <brianp@vmware.com>
Wed, 10 Jun 2009 03:59:36 +0000 (21:59 -0600)
committerBrian Paul <brianp@vmware.com>
Wed, 10 Jun 2009 03:59:36 +0000 (21:59 -0600)
progs/tests/tkmap.c [new file with mode: 0644]

diff --git a/progs/tests/tkmap.c b/progs/tests/tkmap.c
new file mode 100644 (file)
index 0000000..3ded79c
--- /dev/null
@@ -0,0 +1,71 @@
+
+enum {
+    COLOR_BLACK = 0,
+    COLOR_RED,
+    COLOR_GREEN,
+    COLOR_YELLOW,
+    COLOR_BLUE,
+    COLOR_MAGENTA,
+    COLOR_CYAN,
+    COLOR_WHITE
+};
+
+static float RGBMap[9][3] = {
+    {0, 0, 0},
+    {1, 0, 0},
+    {0, 1, 0},
+    {1, 1, 0},
+    {0, 0, 1},
+    {1, 0, 1},
+    {0, 1, 1},
+    {1, 1, 1},
+    {0.5, 0.5, 0.5}
+};
+
+static void SetColor(int c)
+{
+    if (glutGet(GLUT_WINDOW_RGBA))
+        glColor3fv(RGBMap[c]);
+    else
+        glIndexf(c);
+}
+
+static void InitMap(void)
+{
+    int i;
+
+    if (rgb)
+       return;
+
+    for (i = 0; i < 9; i++)
+           glutSetColor(i, RGBMap[i][0], RGBMap[i][1], RGBMap[i][2]);
+}
+
+static void SetFogRamp(int density, int startIndex)
+{
+    int fogValues, colorValues;
+    int i, j, k;
+    float intensity;
+
+    fogValues = 1 << density;
+    colorValues = 1 << startIndex;
+    for (i = 0; i < colorValues; i++) {
+       for (j = 0; j < fogValues; j++) {
+           k = i * fogValues + j;
+           intensity = (i * fogValues + j * colorValues) / 255.0;
+           glutSetColor(k, intensity, intensity, intensity);
+       }
+    }
+}
+
+static void SetGreyRamp(void)
+{
+    int i;
+    float intensity;
+
+    for (i = 0; i < 255; i++) {
+       intensity = i / 255.0;
+       glutSetColor(i, intensity, intensity, intensity);
+    }
+}
+