ok, here's my util function: void UTIL_RGBtoHSV(float r,float g,float b,float &h,float &s,float &v) { float flmin, flmax, fldelta; flmin = min( r, min (g, b )); flmax = max( r, max (g, b ));
v = flmax; // v fldelta = flmax - flmin; if( flmax != 0 ) s = fldelta / flmax; // s else // r = g = b = 0 { s = 0; // s = 0, v is undefined v = 0; h = -1; return; } if( r == flmax ) h = ( g - b ) / fldelta; // between yellow & magenta else if( g == flmax ) h = 2 + ( b - r ) / fldelta;// between cyan & yellow else h = 4 + ( r - g ) / fldelta;// between magenta & cyan h *= 60; // degrees if( h < 0 ) h += 360; } > > Sure, hue is the first value of HSV, and I'am only using this one when > > setting the top and bottom color, but the color isn't right either. > > Perhaps you aren't doing something right. Show some code. > > Jeffrey "botman" Broome > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders