tests: need tkmap.c for prim.c
This commit is contained in:
71
progs/tests/tkmap.c
Normal file
71
progs/tests/tkmap.c
Normal file
@@ -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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user