From: Matan Ziv-Av (matan@svgalib.org)
Date: Fri 03 Nov 2000 - 14:33:36 IST
On Fri, 3 Nov 2000, Remenic wrote: > I finally figured out how to adjust the palette (with help of the .pal files > from PSP7), however, I would like to know how to fade one... I tried creating > a loop, and decreased all the color numbers in it, however this didn't work. > Colors just got messed up for some _wierd_ reason... you don't make sure that r>=shade, before calculating r-shade, so r becomes negative. (((-1)>>2)&0x3f)==0x3f (think of how negative numbers are represented.) A better way to fade is by scaling the colors down: have shade going from 255 (or any other value down to 0), and calculate r as r=r*255/shade. > int getpalette(char *file, int shade) { > > ifstream pal(file); > int r,g,b,svga_red,svga_green,svga_blue,c = 0; > while (pal) { > pal >> r; > pal >> g; > pal >> b; > r = r - shade; > g = g - shade; > b = b - shade; > svga_red = ((r >> 2) & 0x3f); > svga_green = ((g >> 2) & 0x3f); > svga_blue = ((b >> 2) & 0x3f); > gl_setpalettecolor(c,svga_red,svga_green,svga_blue); > c++; > } > } -- Matan Ziv-Av. matan@svgalib.org ------------------------------------------------------------------ Unsubscribe: To: listbot@svgalib.org Body: unsubscribe linux-svgalib
This archive was generated by hypermail 2.1.4 : Wed 21 Jan 2004 - 22:10:23 IST