[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13718] trunk/blender/source/blender/ render/intern/source:
Brecht Van Lommel
brechtvanlommel at pandora.be
Sat Feb 16 19:49:55 CET 2008
Revision: 13718
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13718
Author: blendix
Date: 2008-02-16 19:49:54 +0100 (Sat, 16 Feb 2008)
Log Message:
-----------
Fix for bug #8285 and #8286: halo crashes with environment maps and
render instancing.
Fix for vector blur alpha blending bug due to my recent bugfix, as
reported on bf-committers.
Modified Paths:
--------------
trunk/blender/source/blender/render/intern/source/convertblender.c
trunk/blender/source/blender/render/intern/source/envmap.c
trunk/blender/source/blender/render/intern/source/zbuf.c
Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c 2008-02-16 18:00:22 UTC (rev 13717)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c 2008-02-16 18:49:54 UTC (rev 13718)
@@ -4260,6 +4260,25 @@
static int allow_render_dupli_instance(Render *re, DupliObject *dob, Object *obd)
{
+ ParticleSystem *psys;
+ Material ***material;
+ short a, *totmaterial;
+
+ /* don't allow objects with halos */
+ totmaterial= give_totcolp(obd);
+ material= give_matarar(obd);
+
+ if(totmaterial && material) {
+ for(a= 0; a<*totmaterial; a++)
+ if((*material)[a]->mode & MA_HALO)
+ return 0;
+ }
+
+ for(psys=obd->particlesystem.first; psys; psys=psys->next)
+ if(!ELEM5(psys->part->draw_as, PART_DRAW_BB, PART_DRAW_LINE, PART_DRAW_PATH, PART_DRAW_OB, PART_DRAW_GR))
+ return 0;
+
+ /* don't allow lamp, animated duplis, or radio render */
return (render_object_type(obd->type) &&
(!(dob->type == OB_DUPLIGROUP) || !dob->animated) &&
!(re->r.mode & R_RADIO));
Modified: trunk/blender/source/blender/render/intern/source/envmap.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/envmap.c 2008-02-16 18:00:22 UTC (rev 13717)
+++ trunk/blender/source/blender/render/intern/source/envmap.c 2008-02-16 18:49:54 UTC (rev 13718)
@@ -150,6 +150,7 @@
envre->tothalo= re->tothalo;
envre->totstrand= re->totstrand;
envre->totlamp= re->totlamp;
+ envre->sortedhalos= re->sortedhalos;
envre->lights= re->lights;
envre->objecttable= re->objecttable;
envre->customdata_names= re->customdata_names;
@@ -170,6 +171,7 @@
envre->totstrand= 0;
envre->totlamp= 0;
envre->totinstance= 0;
+ envre->sortedhalos= NULL;
envre->lights.first= envre->lights.last= NULL;
envre->objecttable.first= envre->objecttable.last= NULL;
envre->customdata_names.first= envre->customdata_names.last= NULL;
Modified: trunk/blender/source/blender/render/intern/source/zbuf.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/zbuf.c 2008-02-16 18:00:22 UTC (rev 13717)
+++ trunk/blender/source/blender/render/intern/source/zbuf.c 2008-02-16 18:49:54 UTC (rev 13718)
@@ -3184,8 +3184,8 @@
/* accum */
for(dr= rectdraw, dz2=newrect, x= xsize*ysize-1; x>=0; x--, dr++, dz2+=4) {
if(dr->colpoin) {
- float bfac= dr->alpha*blendfac;
- float mf= 1.0f - bfac*dr->colpoin[3];
+ float bfac= dr->alpha*blendfac*dr->colpoin[3];
+ float mf= 1.0f - bfac;
dz2[0]= mf*dz2[0] + bfac*dr->colpoin[0];
dz2[1]= mf*dz2[1] + bfac*dr->colpoin[1];
More information about the Bf-blender-cvs
mailing list