[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13309] trunk/blender/source/blender/ render/intern/source: Two fixes for yesterday commit, new Mist pass:
Ton Roosendaal
ton at blender.org
Sun Jan 20 15:50:30 CET 2008
Revision: 13309
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13309
Author: ton
Date: 2008-01-20 15:50:30 +0100 (Sun, 20 Jan 2008)
Log Message:
-----------
Two fixes for yesterday commit, new Mist pass:
- non OSA case didn't work
- ztransp adding was accidentally using an incorrect alpha value
NOTE: allmost all pass types rendered in OSA with a filter (not box!) were
incorrectly added on solid layers. Like diffuse, AO, etc.
Modified Paths:
--------------
trunk/blender/source/blender/render/intern/source/rendercore.c
trunk/blender/source/blender/render/intern/source/zbuf.c
Modified: trunk/blender/source/blender/render/intern/source/rendercore.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/rendercore.c 2008-01-20 13:52:54 UTC (rev 13308)
+++ trunk/blender/source/blender/render/intern/source/rendercore.c 2008-01-20 14:50:30 UTC (rev 13309)
@@ -484,6 +484,10 @@
*fp= (float)shi->obr->ob->index;
}
break;
+ case SCE_PASS_MIST:
+ fp= rpass->rect + offset;
+ *fp= shr->mist;
+ break;
}
if(col) {
fp= rpass->rect + pixsize*offset;
Modified: trunk/blender/source/blender/render/intern/source/zbuf.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/zbuf.c 2008-01-20 13:52:54 UTC (rev 13308)
+++ trunk/blender/source/blender/render/intern/source/zbuf.c 2008-01-20 14:50:30 UTC (rev 13309)
@@ -3790,6 +3790,7 @@
add_transp_speed(rl, od, ssamp.shr[0].winspeed, pass[3], rdrect);
}
else {
+ float alpha= 0.0f;
short filled, *sp= (short *)(ztramask+od);
/* for each mask-sample we alpha-under colors. then in end it's added using filter */
@@ -3812,17 +3813,21 @@
}
}
+ /* note; cannot use pass[3] for alpha due to filtermask */
for(a=0; a<R.osa; a++) {
add_filt_fmask(1<<a, samp_shr[a].combined, pass, rr->rectx);
+ alpha+= samp_shr[a].combined[3];
}
if(addpassflag) {
+ alpha*= sampalpha;
+
/* merge all in one, and then add */
merge_transp_passes(rl, samp_shr);
- add_transp_passes(rl, od, samp_shr, pass[3]);
+ add_transp_passes(rl, od, samp_shr, alpha);
if(addpassflag & SCE_PASS_VECTOR)
- add_transp_speed(rl, od, samp_shr[0].winspeed, pass[3], rdrect);
+ add_transp_speed(rl, od, samp_shr[0].winspeed, alpha, rdrect);
}
}
}
More information about the Bf-blender-cvs
mailing list