Revision: 34628
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34628
Author:   ton
Date:     2011-02-03 16:31:03 +0000 (Thu, 03 Feb 2011)
Log Message:
-----------
Bugfix #25912

Render bug in spothalo (weird horizontal line).
Appeared to be precision error... even for doubles,
before doing division a check for FLT_EPSILON works
better than DBL_EPSILON (if there's an alternative).

Modified Paths:
--------------
    trunk/blender/source/blender/render/intern/source/shadeoutput.c

Modified: trunk/blender/source/blender/render/intern/source/shadeoutput.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/shadeoutput.c     
2011-02-03 15:05:43 UTC (rev 34627)
+++ trunk/blender/source/blender/render/intern/source/shadeoutput.c     
2011-02-03 16:31:03 UTC (rev 34628)
@@ -154,8 +154,8 @@
 static void spothalo(struct LampRen *lar, ShadeInput *shi, float *intens)
 {
        double a, b, c, disc, nray[3], npos[3];
-       float t0, t1 = 0.0f, t2= 0.0f, t3, haint;
-       float p1[3], p2[3], ladist, maxz = 0.0f, maxy = 0.0f;
+       double t0, t1 = 0.0f, t2= 0.0f, t3;
+       float p1[3], p2[3], ladist, maxz = 0.0f, maxy = 0.0f, haint;
        int snijp, doclip=1, use_yco=0;
        int ok1=0, ok2=0;
        
@@ -202,7 +202,7 @@
                maxz*= lar->sh_zfac;
                maxy= 
lar->imat[0][1]*p1[0]+lar->imat[1][1]*p1[1]+lar->imat[2][1]*p1[2];
 
-               if( fabs(nray[2]) < DBL_EPSILON ) use_yco= 1;
+               if( fabs(nray[2]) < FLT_EPSILON ) use_yco= 1;
        }
        
        /* scale z to make sure volume is normalized */ 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to