svn merge -r 16592:16667 https://svn.blender.org/svnroot/bf-blender/trunk/blender
[blender-staging.git] / source / blender / makesdna / DNA_material_types.h
index aa8470505810d694e47165e35c8a69582e26a14f..ee4779779ec7c338d3b9bbb4e0b01f34ab7bf469 100644 (file)
@@ -62,6 +62,16 @@ typedef struct Material {
        float translucency;
        /* end synced with render_types.h */
        
+       short material_type; /* solid, halo, volumetric */
+       short pad5[3];
+       
+       /* volumetrics */
+       float vol_alphathresh;
+       float vol_stepsize, vol_shade_stepsize;
+       float vol_absorption, vol_scattering;
+       short vol_shadeflag;
+       short vpad;
+       
        float fresnel_mir, fresnel_mir_i;
        float fresnel_tra, fresnel_tra_i;
        float filter;           /* filter added, for raytrace transparency and transmissivity */
@@ -154,6 +164,12 @@ typedef struct Material {
                /* for render */
 #define MA_IS_USED             1
 
+/* material_type */
+#define MA_SOLID               0
+#define MA_PTHALO              1
+#define MA_VOLUME              2
+#define MA_VOLUMESOLID 3
+
 /* mode (is int) */
 #define MA_TRACEBLE            1
 #define MA_SHADOW              2
@@ -328,5 +344,10 @@ typedef struct Material {
 /* sss_flag */
 #define MA_DIFF_SSS            1
 
+/* vol_shadeflag */
+#define MA_VOL_SHADED          1
+#define MA_VOL_ATTENUATED      2
+#define MA_VOL_SHADOWED                4
+
 #endif