[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22886] branches/blender2.5/blender/source /blender/render/intern: * Fixes for shading objects inside volumes
Matt Ebb
matt at mke3.net
Sun Aug 30 09:07:02 CEST 2009
Revision: 22886
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22886
Author: broken
Date: 2009-08-30 09:07:02 +0200 (Sun, 30 Aug 2009)
Log Message:
-----------
* Fixes for shading objects inside volumes
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/render/intern/include/render_types.h
branches/blender2.5/blender/source/blender/render/intern/source/convertblender.c
branches/blender2.5/blender/source/blender/render/intern/source/volumetric.c
Modified: branches/blender2.5/blender/source/blender/render/intern/include/render_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/render/intern/include/render_types.h 2009-08-30 06:42:53 UTC (rev 22885)
+++ branches/blender2.5/blender/source/blender/render/intern/include/render_types.h 2009-08-30 07:07:02 UTC (rev 22886)
@@ -419,6 +419,7 @@
typedef struct MatInside {
struct MatInside *next, *prev;
struct Material *ma;
+ struct ObjectInstanceRen *obi;
} MatInside;
typedef struct VolPrecachePart
Modified: branches/blender2.5/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- branches/blender2.5/blender/source/blender/render/intern/source/convertblender.c 2009-08-30 06:42:53 UTC (rev 22885)
+++ branches/blender2.5/blender/source/blender/render/intern/source/convertblender.c 2009-08-30 07:07:02 UTC (rev 22886)
@@ -2999,6 +2999,7 @@
mi = MEM_mallocN(sizeof(MatInside), "camera inside material");
mi->ma = vo->ma;
+ mi->obi = obi;
BLI_addtail(&(re->render_volumes_inside), mi);
}
Modified: branches/blender2.5/blender/source/blender/render/intern/source/volumetric.c
===================================================================
--- branches/blender2.5/blender/source/blender/render/intern/source/volumetric.c 2009-08-30 06:42:53 UTC (rev 22885)
+++ branches/blender2.5/blender/source/blender/render/intern/source/volumetric.c 2009-08-30 07:07:02 UTC (rev 22886)
@@ -674,15 +674,25 @@
{
MatInside *m;
Material *mat_backup;
+ ObjectInstanceRen *obi_backup;
+ float prev_alpha = shr->alpha;
//if (BLI_countlist(&R.render_volumes_inside) == 0) return;
/* XXX: extend to multiple volumes perhaps later */
mat_backup = shi->mat;
+ obi_backup = shi->obi;
+
m = R.render_volumes_inside.first;
shi->mat = m->ma;
+ shi->obi = m->obi;
+ shi->obr = m->obi->obr;
volume_trace(shi, shr, VOL_SHADE_INSIDE);
-
+ shr->alpha += prev_alpha;
+ CLAMP(shr->alpha, 0.f, 1.f);
+
shi->mat = mat_backup;
+ shi->obi = obi_backup;
+ shi->obr = obi_backup->obr;
}
\ No newline at end of file
More information about the Bf-blender-cvs
mailing list