Revision: 14721
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14721
Author:   blendix
Date:     2008-05-07 16:58:33 +0200 (Wed, 07 May 2008)

Log Message:
-----------

Fix for bug #10990: edge render AA issue.

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

Modified: trunk/blender/source/blender/render/intern/source/rendercore.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/rendercore.c      
2008-05-07 12:45:02 UTC (rev 14720)
+++ trunk/blender/source/blender/render/intern/source/rendercore.c      
2008-05-07 14:58:33 UTC (rev 14721)
@@ -849,7 +849,7 @@
 }
 
 /* adds only alpha values */
-void edge_enhance_tile(RenderPart *pa, float *rectf)   
+void edge_enhance_tile(RenderPart *pa, float *rectf, int *rectz)
 {
        /* use zbuffer to define edges, add it to the image */
        int y, x, col, *rz, *rz1, *rz2, *rz3;
@@ -857,13 +857,13 @@
        float *rf;
        
        /* shift values in zbuffer 4 to the right (anti overflows), for filter 
we need multiplying with 12 max */
-       rz= pa->rectz;
+       rz= rectz;
        if(rz==NULL) return;
        
        for(y=0; y<pa->recty; y++)
                for(x=0; x<pa->rectx; x++, rz++) (*rz)>>= 4;
        
-       rz1= pa->rectz;
+       rz1= rectz;
        rz2= rz1+pa->rectx;
        rz3= rz2+pa->rectx;
        
@@ -903,7 +903,7 @@
        }
        
        /* shift back zbuf values, we might need it still */
-       rz= pa->rectz;
+       rz= rectz;
        for(y=0; y<pa->recty; y++)
                for(x=0; x<pa->rectx; x++, rz++) (*rz)<<= 4;
        
@@ -1012,7 +1012,7 @@
 
        if(sdata->rl->layflag & SCE_LAY_EDGE) 
                if(R.r.mode & R_EDGE) 
-                       edge_enhance_tile(pa, sdata->edgerect);
+                       edge_enhance_tile(pa, sdata->edgerect, zspan->rectz);
 }
 
 /* main call for shading Delta Accum, for OSA */
@@ -1189,7 +1189,7 @@
                        if(rl->layflag & SCE_LAY_EDGE) {
                                if(R.r.mode & R_EDGE) {
                                        edgerect= 
MEM_callocN(sizeof(float)*pa->rectx*pa->recty, "rectedge");
-                                       edge_enhance_tile(pa, edgerect);
+                                       edge_enhance_tile(pa, edgerect, 
pa->rectz);
                                }
                        }
                        


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

Reply via email to