Small tweak in dithering; the noise varies around 0.0 now.

Value 'dithering' in buttons can go to '2', for extra noise. 1.0 defaults
to exact 1.0/256.0 noise.
This commit is contained in:
2004-11-01 18:04:18 +00:00
parent c66741510c
commit 9a5f98576a
3 changed files with 8 additions and 8 deletions

View File

@@ -221,7 +221,7 @@ void RE_sky_char(float *view, char *col)
float f, colf[3];
float dither_value;
dither_value = (BLI_frand()*R.r.dither_intensity)/256.0;
dither_value = ( (BLI_frand()-0.5)*R.r.dither_intensity)/256.0;
RE_sky(view, colf);
f= 255.0*(colf[0]+dither_value);
@@ -2859,11 +2859,11 @@ void shadepixel_short(float x, float y, int vlaknr, int mask, unsigned short *sh
}
if(R.r.dither_intensity!=0.0) {
short dither_value = (short)(BLI_frand()*R.r.dither_intensity*256.0);
/* no dither for color 254/255, is OK. intensity is <= 2.0 */
if( shortcol[0] < 65000) shortcol[0]+= dither_value;
if( shortcol[1] < 65000) shortcol[1]+= dither_value;
if( shortcol[2] < 65000) shortcol[2]+= dither_value;
short dither_value = (short)((BLI_frand() -.5)*R.r.dither_intensity*256.0);
/* no dither for color 0 or 255, is OK. intensity is <= 2.0 */
if(shortcol[0]>255 || shortcol[0] < 65280) shortcol[0]+= dither_value;
if(shortcol[1]>255 || shortcol[1] < 65280) shortcol[1]+= dither_value;
if(shortcol[2]>255 || shortcol[2] < 65280) shortcol[2]+= dither_value;
}
}

View File

@@ -1346,7 +1346,7 @@ void std_transFloatColV2CharColV( RE_COLBUFTYPE *buf, char *target)
float fval;
float dither_value;
dither_value = (BLI_frand()*R.r.dither_intensity)/256.0;
dither_value = ((BLI_frand()-0.5)*R.r.dither_intensity)/256.0;
/* alpha */
if((buf[3]+dither_value)<=0.0) target[3]= 0;