Revision: 26213
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26213
Author:   blendix
Date:     2010-01-23 18:26:39 +0100 (Sat, 23 Jan 2010)

Log Message:
-----------
Render branch: fix halo rendering bug in hairball.blend.

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

Modified: branches/render25/source/blender/render/intern/source/rendercore.c
===================================================================
--- branches/render25/source/blender/render/intern/source/rendercore.c  
2010-01-23 15:45:01 UTC (rev 26212)
+++ branches/render25/source/blender/render/intern/source/rendercore.c  
2010-01-23 17:26:39 UTC (rev 26213)
@@ -102,6 +102,7 @@
 {
        float col[4], accol[4], fac;
        int amount, amountm, zz, flarec, sample, fullsample, mask=0;
+       int osa= (re->params.osa)? re->params.osa: 1;
        
        fullsample= (totsample > 1);
        amount= 0;
@@ -123,7 +124,7 @@
                                                        
pxf_add_alpha_fac(rlpp[sample]->rectf + od*4, col, har->add);
                                }
                                else {
-                                       fac= 
((float)amountm)/(float)re->params.osa;
+                                       fac= ((float)amountm)/(float)osa;
                                        accol[0]+= fac*col[0];
                                        accol[1]+= fac*col[1];
                                        accol[2]+= fac*col[2];
@@ -137,11 +138,11 @@
        }
 
        /* now do the sky sub-pixels */
-       amount= re->params.osa-amount;
+       amount= osa-amount;
        if(amount) {
                if(shadeHaloFloat(re, har, col, 0x7FFFFF, dist, xn, yn, 
flarec)) {
                        if(!fullsample) {
-                               fac= ((float)amount)/(float)re->params.osa;
+                               fac= ((float)amount)/(float)osa;
                                accol[0]+= fac*col[0];
                                accol[1]+= fac*col[1];
                                accol[2]+= fac*col[2];
@@ -484,7 +485,7 @@
        
 }
 
-/******************************* Solid Shade 
*************************************/
+/************************* Solid and ZTransp Shade 
****************************/
 
 static int pixel_row_compare(const void *a1, const void *a2)
 {
@@ -673,8 +674,6 @@
                ShadeInput *shi= ssamp->shi;
                float col[4];
 
-               printf("post lamphalo\n");
-
                /* weak shadeinput setup */
                memset(&shi->primitive, 0, sizeof(shi->primitive));
                camera_raster_to_view(&re->cam, shi->geometry.view, x, y);
@@ -714,13 +713,6 @@
 
        if((re->params.flag & R_LAMPHALO) && (ssamp->shi->shading.layflag & 
SCE_LAY_HALO))
                pixel_row_shade_lamphalo(re, samp_shr, ssamp, osa, x, y);
-
-#if 0
-       if(layflag & SCE_LAY_SKY) {
-               pixel_row_shade_atmosphere(re, samp_shr, x, y);
-               pixel_row_shade_environment(re, samp_shr, x, y, 
ssamp->shi->shading.thread);
-       }
-#endif
 }
 
 static void zbuf_shade_all(Render *re, RenderPart *pa, RenderLayer *rl, 
APixstr* APixbuf, APixstrand *APixbufstrand, ListBase *apsmbase, 
StrandShadeCache *sscache)
@@ -870,7 +862,7 @@
                if(rl->layflag & (SCE_LAY_SOLID|SCE_LAY_ZTRA|SCE_LAY_STRAND))
                        zbuf_rasterize(re, pa, rl, &psmlist, edgerect);
 
-               /* halo before ztra, because ztra fills in zbuffer now */
+               /* halo is now after solid and ztra */
                if(re->params.flag & R_HALO)
                        if(rl->layflag & SCE_LAY_HALO)
                                halo_tile(re, pa, rl);


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

Reply via email to