- unsigned char *pixels = 0;
- int start = 64;
- int end = start + 128;
- int size = 4 * (end - start);
- int i;
-
- pixels = (unsigned char *) malloc (size);
- i = 0;
- while (i < size)
- {
- pixels[i] = 0; i++;
- pixels[i] = (start + (i>>2)) * 0.56; i++;
- pixels[i] = (start + (i>>2)); i++;
- pixels[i] = 255; i++;
- }
-
- clear_gl_error();
-
- glGenTextures(1, &gradient_tex);
- glBindTexture(GL_TEXTURE_1D, gradient_tex);
-
- glTexImage1D(GL_TEXTURE_1D, 0, 4,
- (end - start), 0,
- GL_RGBA, GL_UNSIGNED_BYTE, pixels);
- check_gl_error ("gradient texture");
- glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-
-
- gradient_list = glGenLists(1);
- glNewList(gradient_list, GL_COMPILE);
-
- glDepthMask (False);
- glDisable(GL_DEPTH_TEST);
- glDisable(GL_LIGHTING);
- glDisable(GL_TEXTURE_2D);
- glEnable(GL_TEXTURE_1D);
- glBindTexture(GL_TEXTURE_1D, gradient_tex);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
- glTexParameterf(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP);
-
- glMatrixMode(GL_PROJECTION);
- glPushMatrix();