svn merge -r 22423:22450 https://svn.blender.org/svnroot/bf-blender/branches/blender2...
[blender.git] / source / blender / makesdna / DNA_texture_types.h
index 0054e885a21dc2284aaa1e2b0be72c6f18ebb7ec..6e889fda20a408064c311a62d9d4e975d30fb73a 100644 (file)
@@ -128,6 +128,56 @@ typedef struct EnvMap {
        short recalc, lastsize;
 } EnvMap;
 
+typedef struct PointDensity {
+       short flag;
+
+       short falloff_type;
+       float falloff_softness;
+       float radius;
+       short source;
+       short color_source;
+       int totpoints;
+       
+       int pdpad;
+
+       struct Object *object;  /* for 'Object' or 'Particle system' type - source object */
+       short psys_cache_space;         /* cache points in worldspace, object space, ... ? */
+       short psysindex;                /* for 'Particle system' type - object's psys number */
+       
+       short ob_cache_space;           /* cache points in worldspace, object space, ... ? */
+       
+       short pdpad2;
+       
+       void *point_tree;               /* the acceleration tree containing points */
+       float *point_data;              /* dynamically allocated extra for extra information, like particle age */
+       
+       float noise_size;
+       short noise_depth;
+       short noise_influence;
+       short noise_basis;
+    short pdpad3[3];
+       float noise_fac;
+       
+       float speed_scale;
+       struct ColorBand *coba; /* for time -> color */
+       
+} PointDensity;
+
+typedef struct VoxelData {
+       int resol[3];
+       int interp_type;
+       short file_format;
+       short flag;
+       int pad;
+       
+       struct Object *object; /* for rendering smoke sims */
+       float int_multiplier;   
+       int still_frame;
+       char source_path[240];
+       float *dataset;
+} VoxelData;
+
 typedef struct Tex {
        ID id;
        struct AnimData *adt;   /* animation data (must be immediately after id for utilities to use it) */ 
@@ -181,6 +231,8 @@ typedef struct Tex {
        struct ColorBand *coba;
        struct EnvMap *env;
        struct PreviewImage * preview;
+       struct PointDensity *pd;
+       struct VoxelData *vd;
        
        char use_nodes;
        char pad[7];
@@ -220,6 +272,8 @@ typedef struct TexMapping {
 #define TEX_MUSGRAVE   11
 #define TEX_VORONOI            12
 #define TEX_DISTNOISE  13
+#define TEX_POINTDENSITY       14
+#define TEX_VOXELDATA          15
 
 /* musgrave stype */
 #define TEX_MFRACTAL           0
@@ -417,5 +471,59 @@ typedef struct TexMapping {
 #define ENV_NORMAL     1
 #define ENV_OSA                2
 
+/* **************** PointDensity ********************* */
+
+/* source */
+#define TEX_PD_PSYS                    0
+#define TEX_PD_OBJECT          1
+#define TEX_PD_FILE                    2
+
+/* falloff_type */
+#define TEX_PD_FALLOFF_STD             0
+#define TEX_PD_FALLOFF_SMOOTH  1
+#define TEX_PD_FALLOFF_SOFT            2
+#define TEX_PD_FALLOFF_CONSTANT        3
+#define TEX_PD_FALLOFF_ROOT            4
+
+/* psys_cache_space */
+#define TEX_PD_OBJECTLOC       0
+#define TEX_PD_OBJECTSPACE     1
+#define TEX_PD_WORLDSPACE      2
+
+/* flag */
+#define TEX_PD_TURBULENCE      1
+
+
+/* noise_influence */
+#define TEX_PD_NOISE_STATIC            0
+#define TEX_PD_NOISE_VEL               1
+#define TEX_PD_NOISE_AGE               2
+#define TEX_PD_NOISE_TIME              3
+
+/* color_source */
+#define TEX_PD_COLOR_CONSTANT  0
+#define TEX_PD_COLOR_PARTAGE   1
+#define TEX_PD_COLOR_PARTSPEED 2
+#define TEX_PD_COLOR_PARTVEL   3
+
+#define POINT_DATA_VEL         1
+#define POINT_DATA_LIFE                2
+
+/******************** Voxel Data *****************************/
+/* flag */
+#define TEX_VD_STILL                   1
+
+/* interpolation */
+#define TEX_VD_NEARESTNEIGHBOR         0
+#define TEX_VD_LINEAR                          1
+#define TEX_VD_TRICUBIC                                2
+
+/* file format */
+#define TEX_VD_BLENDERVOXEL            0
+#define TEX_VD_RAW_8BIT                        1
+#define TEX_VD_RAW_16BIT               2
+#define TEX_VD_IMAGE_SEQUENCE  3
+#define TEX_VD_SMOKE                   4
+
 #endif