Final merge of HEAD (bf-blender) into the orange branch.
[blender.git] / source / blender / makesdna / DNA_world_types.h
index 91e205e40385db2682f2444a2e2672221814ded9..edc621ba7582175231fc046df1e00c988771c405 100644 (file)
 struct Ipo;
 struct MTex;
 
+#ifndef MAX_MTEX
+#define MAX_MTEX       10
+#endif
+
 
 /**
  * World defines general modelling data such as a background fill,
@@ -56,8 +60,14 @@ typedef struct World {
        float ambr, ambg, ambb, ambk;
 
        unsigned int fastcol;   
-
-       float exposure;
+       
+       /**
+        * Exposure= mult factor. unused now, but maybe back later. Kept in to be upward compat.
+        * New is exp/range control. linfac & logfac are constants... don't belong in
+        * file, but allocating 8 bytes for temp mem isnt useful either.
+        */
+       float exposure, exp, range;     
+       float linfac, logfac;
 
        /**
         * Gravitation constant for the game world
@@ -78,6 +88,7 @@ typedef struct World {
         * bit 3: (gameengine): Activity culling is enabled.
         */
        short mode;
+       int physicsEngine;      /* here it's aligned */
        
        float misi, miststa, mistdist, misthi;
        
@@ -85,13 +96,19 @@ typedef struct World {
        float starsize, starmindist;
        float stardist, starcolnoise;
        
+       /* unused now: DOF */
        short dofsta, dofend, dofmin, dofmax;
-
-       int pad1;
+       
+       /* ambient occlusion */
+       float aodist, aodistfac, aoenergy, aobias;
+       short aomode, aosamp, aomix, aocolor;
+       float *aosphere;
+       
        struct Ipo *ipo;
-       struct MTex *mtex[8];
+       struct MTex *mtex[10];
 
        ScriptLink scriptlink;
+
 } World;
 
 /* **************** WORLD ********************* */
@@ -100,7 +117,7 @@ typedef struct World {
 #define WO_SKYBLEND            1
 #define WO_SKYREAL             2
 #define WO_SKYPAPER            4
-/* tijdens render: */
+/* while render: */
 #define WO_SKYTEX              8
 #define WO_ZENUP               16
 
@@ -109,12 +126,41 @@ typedef struct World {
 #define WO_STARS               2
 #define WO_DOF                 4
 #define WO_ACTIVITY_CULLING       8
+#define WO_AMB_OCC                       16
+
+/* aomix */
+#define WO_AOADD       0
+#define WO_AOSUB       1
+#define WO_AOADDSUB    2
+
+/* aomode (use distances & random sampling modes) */
+#define WO_AODIST              1
+#define WO_AORNDSMP            2
+
+/* aocolor */
+#define WO_AOPLAIN     0
+#define WO_AOSKYCOL    1
+#define WO_AOSKYTEX    2
+
+/* texco (also in DNA_material_types.h) */
+#define TEXCO_ANGMAP   64
+#define TEXCO_H_SPHEREMAP      256
+#define TEXCO_H_TUBEMAP        1024
 
 /* mapto */
 #define WOMAP_BLEND            1
 #define WOMAP_HORIZ            2
 #define WOMAP_ZENUP            4
 #define WOMAP_ZENDOWN  8
+#define WOMAP_MIST             16
+
+/* physicsEngine */
+#define WOPHY_NONE             0
+#define WOPHY_ENJI             1
+#define WOPHY_SUMO             2
+#define WOPHY_DYNAMO   3
+#define WOPHY_ODE              4
+#define WOPHY_BULLET   5
 
 #endif