optionally use guarded alloc for tiles compositor, also replace allocation functions...
[blender.git] / source / gameengine / Ketsji / BL_Material.h
index 6b53e7fa8b1c84a3557177c77e07b8ad36ea3345..b67bd95f878b6af5f229f5f86b4f8e1fee3fdc4f 100644 (file)
@@ -1,8 +1,14 @@
+
+/** \file BL_Material.h
+ *  \ingroup ketsji
+ */
+
 #ifndef __BL_MATERIAL_H__
 #define __BL_MATERIAL_H__
 
 #include "STR_String.h"
 #include "MT_Point2.h"
+#include "DNA_meshdata_types.h"
 
 #ifdef WITH_CXX_GUARDEDALLOC
 #include "MEM_guardedalloc.h"
@@ -19,11 +25,11 @@ struct EnvMap;
 // --
 
 /** max units
      this will default to users available units
      to build with more available, just increment this value
      although the more you add the slower the search time will be.
      we will go for eight, which should be enough
-*/
* this will default to users available units
* to build with more available, just increment this value
* although the more you add the slower the search time will be.
* we will go for eight, which should be enough
+ */
 #define MAXTEX                 8       //match in RAS_TexVert & RAS_OpenGLRasterizer
 
 // different mapping modes
@@ -63,7 +69,7 @@ public:
 
        float matcolor[4];
        float speccolor[3];
-       short transp, pad;
+       short alphablend, pad;
 
        float hard, spec_f;
        float alpha, emit, color_blend[MAXTEX], ref;
@@ -71,7 +77,6 @@ public:
 
        int blend_mode[MAXTEX];
 
-       int      mode;
        int num_enabled;
        
        BL_Mapping      mapping[MAXTEX];
@@ -79,7 +84,7 @@ public:
 
 
        Material*                       material;
-       MTFace*                         tface;
+       MTFace                          tface; /* copy of the derived meshes tface */
        Image*                          img[MAXTEX];
        EnvMap*                         cubemap[MAXTEX];
 
@@ -105,9 +110,7 @@ public:
        
        
 #ifdef WITH_CXX_GUARDEDALLOC
-public:
-       void *operator new( unsigned int num_bytes) { return MEM_mallocN(num_bytes, "GE:BL_Material"); }
-       void operator delete( void *mem ) { MEM_freeN(mem); }
+       MEM_CXX_CLASS_ALLOC_FUNCS("GE:BL_Material")
 #endif
 };
 
@@ -139,20 +142,23 @@ enum BL_flag
        USEALPHA=4,             // use actual alpha channel
        TEXALPHA=8,             // use alpha combiner functions
        TEXNEG=16,              // negate blending
-       HASIPO=32,
+       /*HASIPO=32,*/  // unused, commeted for now.
        USENEGALPHA=64
 };
 
 // BL_Material::ras_mode
 enum BL_ras_mode
 {
-       POLY_VIS=1,
+       // POLY_VIS=1,
        COLLIDER=2,
        ZSORT=4,
        ALPHA=8,
        // TRIANGLE=16,
        USE_LIGHT=32,
-       WIRE=64
+       WIRE=64,
+       CAST_SHADOW=128,
+       TEX=256,
+       TWOSIDED=512
 };
 
 // -------------------------------------