[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17418] branches/sim_physics/source/ blender: * Added a button to the volume material controls 'Alpha' to generate an
Matt Ebb
matt at mke3.net
Wed Nov 12 00:24:10 CET 2008
Revision: 17418
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17418
Author: broken
Date: 2008-11-12 00:24:10 +0100 (Wed, 12 Nov 2008)
Log Message:
-----------
* Added a button to the volume material controls 'Alpha' to generate an
alpha channel based on the volume's transmission properties, allowing you
to use it in comp etc.
I'd rather not have this button at all, and make it just work properly
by default, however it causes problems with overlapping volumes when
'premul' is on (stoopid thing..) so for the time being, there's the
button. I'll try and fix this up later on when I have more time.
Modified Paths:
--------------
branches/sim_physics/source/blender/makesdna/DNA_material_types.h
branches/sim_physics/source/blender/render/intern/source/volumetric.c
branches/sim_physics/source/blender/src/buttons_shading.c
Modified: branches/sim_physics/source/blender/makesdna/DNA_material_types.h
===================================================================
--- branches/sim_physics/source/blender/makesdna/DNA_material_types.h 2008-11-11 22:48:47 UTC (rev 17417)
+++ branches/sim_physics/source/blender/makesdna/DNA_material_types.h 2008-11-11 23:24:10 UTC (rev 17418)
@@ -359,6 +359,7 @@
#define MA_VOL_ATTENUATED 2
#define MA_VOL_RECVSHADOW 4
#define MA_VOL_PRECACHESHADING 8
+#define MA_VOL_USEALPHA 16
/* vol_phasefunc_type */
#define MA_VOL_PH_ISOTROPIC 0
Modified: branches/sim_physics/source/blender/render/intern/source/volumetric.c
===================================================================
--- branches/sim_physics/source/blender/render/intern/source/volumetric.c 2008-11-11 22:48:47 UTC (rev 17417)
+++ branches/sim_physics/source/blender/render/intern/source/volumetric.c 2008-11-11 23:24:10 UTC (rev 17418)
@@ -656,8 +656,12 @@
shr->combined[1] = col[1];
shr->combined[2] = col[2];
- //if (col[3] > 1.0f)
- col[3] = 1.0f;
+ if (shi->mat->vol_shadeflag & MA_VOL_USEALPHA) {
+ if (col[3] > 1.0f)
+ col[3] = 1.0f;
+ }
+ else
+ col[3] = 1.0f;
shr->combined[3] = col[3];
shr->alpha = col[3];
@@ -683,8 +687,12 @@
shr->combined[1] = col[1];
shr->combined[2] = col[2];
- //if (col[3] > 1.0f)
- col[3] = 1.0f;
+ if (shi->mat->vol_shadeflag & MA_VOL_USEALPHA) {
+ if (col[3] > 1.0f)
+ col[3] = 1.0f;
+ }
+ else
+ col[3] = 1.0f;
shr->combined[3] = col[3];
shr->alpha = col[3];
Modified: branches/sim_physics/source/blender/src/buttons_shading.c
===================================================================
--- branches/sim_physics/source/blender/src/buttons_shading.c 2008-11-11 22:48:47 UTC (rev 17417)
+++ branches/sim_physics/source/blender/src/buttons_shading.c 2008-11-11 23:24:10 UTC (rev 17418)
@@ -4447,6 +4447,12 @@
uiBlockEndAlign(block);
}
+ yco -= YSPACE;
+
+ uiDefButBitS(block, TOG, MA_VOL_USEALPHA, B_MATPRV, "Alpha",
+ X2CLM1, yco-=BUTH, BUTW2, BUTH, &(ma->vol_shadeflag), 0, 0, 0, 0, "Generate an alpha channel (causes problems with Premul)");
+
+
/*uiDefButBitS(block, TOG, MA_VOL_RECVSHADOW, B_MATPRV, "Receive Shadows",
X2CLM1, yco-=BUTH, BUTW2, BUTH, &(ma->vol_shadeflag), 0, 0, 0, 0, "Receive shadows from external objects");
*/
More information about the Bf-blender-cvs
mailing list