Revision: 17614 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17614 Author: joeedh Date: 2008-11-29 12:34:51 +0100 (Sat, 29 Nov 2008)
Log Message: ----------- fix some things related to strands that were broken by the merge. Modified Paths: -------------- branches/soc-2007-joeedh/source/blender/render/intern/source/dsm.c branches/soc-2007-joeedh/source/blender/render/intern/source/strand.c branches/soc-2007-joeedh/source/blender/render/intern/source/zbuf_dsm.c Modified: branches/soc-2007-joeedh/source/blender/render/intern/source/dsm.c =================================================================== --- branches/soc-2007-joeedh/source/blender/render/intern/source/dsm.c 2008-11-29 11:30:39 UTC (rev 17613) +++ branches/soc-2007-joeedh/source/blender/render/intern/source/dsm.c 2008-11-29 11:34:51 UTC (rev 17614) @@ -224,13 +224,16 @@ Mat3CpyMat4(mat, newview); for (obi=re->instancetable.first; obi; obi=obi->next) { - if(obi->flag & R_TRANSFORMED) { + if(obi->flag & R_DUPLI_TRANSFORMED) { MTC_Mat4MulMat4(mat4, obi->mat, viewinv); MTC_Mat4MulMat4(obi->mat, mat4, newview); MTC_Mat3CpyMat4(mat3, obi->mat); MTC_Mat3Inv(obi->nmat, mat3); Mat3Transp(obi->nmat); + } else { + if (mode) MTC_Mat4MulMat4(obi->mat, oldview, newview); + else MTC_Mat4One(obi->mat); } } Modified: branches/soc-2007-joeedh/source/blender/render/intern/source/strand.c =================================================================== --- branches/soc-2007-joeedh/source/blender/render/intern/source/strand.c 2008-11-29 11:30:39 UTC (rev 17613) +++ branches/soc-2007-joeedh/source/blender/render/intern/source/strand.c 2008-11-29 11:34:51 UTC (rev 17614) @@ -587,7 +587,7 @@ VECCOPY(jco3, co3); VECCOPY(jco4, co4); - if (spart->shadow_mode) { + if (!spart->shadow_mode) { if(re->osa) { jx= -re->jit[sample][0]; jy= -re->jit[sample][1]; @@ -626,6 +626,7 @@ zspan_scanconvert_strand(zspan, spart, jco1, jco3, jco4, do_strand_fillac); } +/*if spart is defined, then totzspan is actually oversampling sample number.*/ static void strand_render(Render *re, StrandSegment *sseg, float winmat[][4], StrandPart *spart, ZSpan *zspan, int totzspan, StrandPoint *p1, StrandPoint *p2) { if(spart) { @@ -633,12 +634,12 @@ float dt= p2->t - p1->t; int a; - if(!sseg->shadow_mode && re->osa) { + if(!spart->shadow_mode && re->osa) { for(a=0; a<re->osa; a++) do_scanconvert_strand(re, spart, zspan, t, dt, p1->zco2, p1->zco1, p2->zco1, p2->zco2, a); } else - do_scanconvert_strand(re, spart, zspan, t, dt, p1->zco2, p1->zco1, p2->zco1, p2->zco2, 0); + do_scanconvert_strand(re, spart, zspan, t, dt, p1->zco2, p1->zco1, p2->zco1, p2->zco2, spart->sample); } else { float hoco1[4], hoco2[4]; Modified: branches/soc-2007-joeedh/source/blender/render/intern/source/zbuf_dsm.c =================================================================== --- branches/soc-2007-joeedh/source/blender/render/intern/source/zbuf_dsm.c 2008-11-29 11:30:39 UTC (rev 17613) +++ branches/soc-2007-joeedh/source/blender/render/intern/source/zbuf_dsm.c 2008-11-29 11:34:51 UTC (rev 17614) @@ -440,7 +440,7 @@ spart.segment= &sseg; spart.shadow_mode = 1; spart.max_shadowsamples = shb->dsmbuffer->max_depth; - spart.zspan = &zspans[0]; //check this after commit + spart.zspan = &zspans[0]; for(zsample=0; zsample<samples; zsample++) { zspan= &zspans[zsample]; @@ -643,10 +643,12 @@ for(zsample=0; zsample<samples; zsample++) { zspan= &zspans[zsample]; zspan->last_apixbuf = lastbufstrand; + spart.zspan = &zspans[zsample]; //zspan->apixbuf = APixbuf; //zspan->last_apixbuf = lastbuf; + spart.sample = zsample; + render_strand_segment(re, winmat, &spart, zspan, 1, &sseg); } - render_strand_segment(re, winmat, &spart, zspans, samples, &sseg); } strand->buffer->winx = oldwinx; strand->buffer->winy = oldwiny; _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs