diff options
Diffstat (limited to 'source/blender/makesdna/DNA_world_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_world_types.h | 136 |
1 files changed, 30 insertions, 106 deletions
diff --git a/source/blender/makesdna/DNA_world_types.h b/source/blender/makesdna/DNA_world_types.h index fff949ecbaa..c95436f4723 100644 --- a/source/blender/makesdna/DNA_world_types.h +++ b/source/blender/makesdna/DNA_world_types.h @@ -47,18 +47,18 @@ struct MTex; /** * World defines general modeling data such as a background fill, - * gravity, color model etc. It mixes game-data, rendering - * data and modeling data. */ + * gravity, color model etc. It mixes rendering data and modeling data. */ typedef struct World { ID id; - struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */ + /** Animation data (must be immediately after id for utilities to use it). */ + struct AnimData *adt; + /* runtime (must be immediately after id for utilities to use it). */ + DrawDataList drawdata; - short colormodel, totex; + char _pad0[4]; short texact, mistype; float horr, horg, horb; - float zenr, zeng, zenb; - float ambr, ambg, ambb; /** * Exposure= mult factor. unused now, but maybe back later. Kept in to be upward compat. @@ -69,57 +69,22 @@ typedef struct World { float linfac, logfac; /** - * Gravitation constant for the game world - */ - float gravity; // XXX moved to scene->gamedata in 2.5 - - /** - * Radius of the activity bubble, in Manhattan length. Objects - * outside the box are activity-culled. */ - float activityBoxRadius; // XXX moved to scene->gamedata in 2.5 - - short skytype; - /** * Some world modes * bit 0: Do mist - * bit 1: Do stars - * bit 2: (reserved) depth of field - * bit 3: (gameengine): Activity culling is enabled. - * bit 4: ambient occlusion - * bit 5: (gameengine) : enable Bullet DBVT tree for view frustum culling */ - short mode; // partially moved to scene->gamedata in 2.5 - short occlusionRes; /* resolution of occlusion Z buffer in pixel */ // XXX moved to scene->gamedata in 2.5 - short physicsEngine; /* here it's aligned */ // XXX moved to scene->gamedata in 2.5 - short ticrate, maxlogicstep, physubstep, maxphystep; // XXX moved to scene->gamedata in 2.5 + short mode; + short pad2[3]; float misi, miststa, mistdist, misthi; - float starr DNA_DEPRECATED, starg DNA_DEPRECATED, starb DNA_DEPRECATED, stark DNA_DEPRECATED; /* Deprecated */ - float starsize DNA_DEPRECATED, starmindist DNA_DEPRECATED; - float stardist DNA_DEPRECATED, starcolnoise DNA_DEPRECATED; - - /* unused now: DOF */ - short dofsta, dofend, dofmin, dofmax; - - /* ambient occlusion */ - float aodist, aodistfac, aoenergy, aobias; - short aomode, aosamp, aomix, aocolor; - float ao_adapt_thresh, ao_adapt_speed_fac; - float ao_approx_error, ao_approx_correction; - float ao_indirect_energy, ao_env_energy, ao_pad2; - short ao_indirect_bounces, ao_pad; - short ao_samp_method, ao_gather_method, ao_approx_passes; + /** Ambient occlusion. */ + float aodist, aoenergy; - /* assorted settings (in the middle of ambient occlusion settings for padding reasons) */ - short flag; + /** Assorted settings. */ + short flag, pad3[3]; - /* ambient occlusion (contd...) */ - float *aosphere, *aotables; - - - struct Ipo *ipo DNA_DEPRECATED; /* old animation system, deprecated for 2.5 */ - struct MTex *mtex[18]; /* MAX_MTEX */ + /** Old animation system, deprecated for 2.5. */ + struct Ipo *ipo DNA_DEPRECATED; short pr_texture, use_nodes, pad[2]; /* previews */ @@ -128,71 +93,30 @@ typedef struct World { /* nodes */ struct bNodeTree *nodetree; - ListBase gpumaterial; /* runtime */ + /** Runtime : miststa + mistdist, used for drawing camera. */ + float mistend, pad1; + /** Runtime. */ + ListBase gpumaterial; } World; /* **************** WORLD ********************* */ -/* skytype */ -#define WO_SKYBLEND (1 << 0) -#define WO_SKYREAL (1 << 1) -#define WO_SKYPAPER (1 << 2) -/* while render: */ -#define WO_SKYTEX (1 << 3) -#define WO_ZENUP (1 << 4) - /* mode */ -#define WO_MIST (1 << 0) -//#define WO_STARS (1 << 1) /* deprecated */ -/*#define WO_DOF (1 << 2) */ -#define WO_ACTIVITY_CULLING (1 << 3) -#define WO_ENV_LIGHT (1 << 4) -#define WO_DBVT_CULLING (1 << 5) -#define WO_AMB_OCC (1 << 6) -#define WO_INDIRECT_LIGHT (1 << 7) - -/* aomix */ +#define WO_MIST (1 << 0) +#define WO_MODE_DEPRECATED_1 (1 << 1) /* cleared */ +#define WO_MODE_DEPRECATED_2 (1 << 2) /* cleared */ +#define WO_MODE_DEPRECATED_3 (1 << 3) /* cleared */ +#define WO_MODE_DEPRECATED_4 (1 << 4) /* cleared */ +#define WO_MODE_DEPRECATED_5 (1 << 5) /* cleared */ +#define WO_AMB_OCC (1 << 6) +#define WO_MODE_DEPRECATED_7 (1 << 7) /* cleared */ + enum { - WO_AOADD = 0, -#ifdef DNA_DEPRECATED - WO_AOSUB = 1, /* deprecated */ - WO_AOADDSUB = 2, /* deprecated */ -#endif - WO_AOMUL = 3, + WO_MIST_QUADRATIC = 0, + WO_MIST_LINEAR = 1, + WO_MIST_INVERSE_QUADRATIC = 2, }; -/* ao_samp_method - methods for sampling the AO hemi */ -#define WO_AOSAMP_CONSTANT 0 -#define WO_AOSAMP_HALTON 1 -#define WO_AOSAMP_HAMMERSLEY 2 - -/* aomode (use distances & random sampling modes) */ -#define WO_AODIST (1 << 0) -#define WO_AORNDSMP (1 << 1) -#define WO_AOCACHE (1 << 2) - -/* aocolor */ -#define WO_AOPLAIN 0 -#define WO_AOSKYCOL 1 -#define WO_AOSKYTEX 2 - -/* ao_gather_method */ -#define WO_AOGATHER_RAYTRACE 0 -#define WO_AOGATHER_APPROX 1 - -/* texco (also in DNA_material_types.h) */ -#define TEXCO_ANGMAP (1 << 6) -#define TEXCO_H_SPHEREMAP (1 << 8) -#define TEXCO_H_TUBEMAP (1 << 10) -#define TEXCO_EQUIRECTMAP (1 << 11) - -/* mapto */ -#define WOMAP_BLEND (1 << 0) -#define WOMAP_HORIZ (1 << 1) -#define WOMAP_ZENUP (1 << 2) -#define WOMAP_ZENDOWN (1 << 3) -// #define WOMAP_MIST (1 << 4) /* Deprecated */ - /* flag */ #define WO_DS_EXPAND (1<<0) /* NOTE: this must have the same value as MA_DS_SHOW_TEXS, |