Bug fix #2431
authorTon Roosendaal <ton@blender.org>
Mon, 11 Apr 2005 10:20:17 +0000 (10:20 +0000)
committerTon Roosendaal <ton@blender.org>
Mon, 11 Apr 2005 10:20:17 +0000 (10:20 +0000)
Underflow case in Blinn spec... resulting in large negative values to be
returned in certain cases, causing (again!) black dots.
Thanks randall for clear report with nice demo file. :)

source/blender/render/intern/source/rendercore.c

index 2c77d29421a0f02c8a9caa7c5ec29e4fd09d2e0a..98aa265d3c628f91314a40dc298d61b6a3c4266d 100644 (file)
@@ -794,7 +794,8 @@ float Blinn_Spec(float *n, float *l, float *v, float refrac, float spec_power )
        ang = saacos(nh);
 
        i= f * g * exp((double)(-(ang*ang) / (2.0*spec_power*spec_power)));
-
+       if(i<0.0) i= 0.0;
+       
        return i;
 }