Final merge of HEAD (bf-blender) into the orange branch.
[blender.git] / source / blender / makesdna / DNA_texture_types.h
index ba95e2ecbedff014ce7fe6727383b6349795762d..3cb37dff29ea18ef4935cfa339117895a6d45a13 100644 (file)
@@ -58,6 +58,8 @@ typedef struct MTex {
        float def_var;
        
        float colfac, norfac, varfac;
+       float dispfac; 
+       float warpfac; 
        
 } MTex;
 
@@ -125,7 +127,21 @@ typedef struct Tex {
        float noisesize, turbul;
        float bright, contrast, rfac, gfac, bfac;
        float filtersize;
+
+       /* newnoise: musgrave parameters */
+       float mg_H, mg_lacunarity, mg_octaves, mg_offset, mg_gain;
+
+       /* newnoise: distorted noise amount, musgrave & voronoi ouput scale */
+       float dist_amount, ns_outscale;
+
+       /* newnoise: voronoi nearest neighbour weights, minkovsky exponent, distance metric & color type */
+       float vn_w1, vn_w2, vn_w3, vn_w4, vn_mexp;
+       short vn_distm, vn_coltype;
+
        short noisedepth, noisetype;
+
+       /* newnoise: noisebasis type for clouds/marble/etc, noisebasis2 only used for distorted noise */
+       short noisebasis, noisebasis2;
        
        short imaflag, flag;
        short type, stype;
@@ -133,8 +149,9 @@ typedef struct Tex {
        float cropxmin, cropymin, cropxmax, cropymax;
        short xrepeat, yrepeat;
        short extend, len;
+       float checkerdist, nabla;
        short frames, offset, sfra, fie_ima;
-       float norfac, *nor;
+       float norfac;
        
        struct Ipo *ipo;
        struct Image *ima;
@@ -146,6 +163,23 @@ typedef struct Tex {
        
 } Tex;
 
+/* used for mapping node. note: rot is in degrees */
+
+typedef struct TexMapping {
+       float loc[3], rot[3], size[3];
+       int flag;
+       
+       float mat[4][4];
+       float min[3], max[3];
+       struct Object *ob;
+
+} TexMapping;
+
+/* texmap->flag */
+#define TEXMAP_CLIP_MIN        1
+#define TEXMAP_CLIP_MAX        2
+
+
 /* **************** TEX ********************* */
 
 /* type */
@@ -159,6 +193,37 @@ typedef struct Tex {
 #define TEX_IMAGE              8
 #define TEX_PLUGIN             9
 #define TEX_ENVMAP             10
+#define TEX_MUSGRAVE   11
+#define TEX_VORONOI            12
+#define TEX_DISTNOISE  13
+
+/* musgrave stype */
+#define TEX_MFRACTAL           0
+#define TEX_RIDGEDMF           1
+#define TEX_HYBRIDMF           2
+#define TEX_FBM                                3
+#define TEX_HTERRAIN           4
+
+/* newnoise: noisebasis 1 & 2 */
+#define TEX_BLENDER                    0
+#define TEX_STDPERLIN          1
+#define TEX_NEWPERLIN          2
+#define TEX_VORONOI_F1         3
+#define TEX_VORONOI_F2         4
+#define TEX_VORONOI_F3         5
+#define TEX_VORONOI_F4         6
+#define TEX_VORONOI_F2F1       7
+#define TEX_VORONOI_CRACKLE            8
+#define TEX_CELLNOISE          14
+
+/* newnoise: Voronoi distance metrics, vn_distm */
+#define TEX_DISTANCE           0
+#define TEX_DISTANCE_SQUARED           1
+#define TEX_MANHATTAN          2
+#define TEX_CHEBYCHEV          3
+#define TEX_MINKOVSKY_HALF             4
+#define TEX_MINKOVSKY_FOUR             5
+#define TEX_MINKOVSKY          6
 
 /* imaflag */
 #define TEX_INTERPOL   1
@@ -172,25 +237,54 @@ typedef struct Tex {
 #define TEX_ANTIALI            256
 #define TEX_ANTISCALE  512
 #define TEX_STD_FIELD  1024
+#define TEX_NORMALMAP  2048
 
 #define TEX_LASOPPATCH 8192
 #define TEX_MORKPATCH  16384
 
 /* flag */
-#define TEX_COLORBAND  1
-#define TEX_FLIPBLEND  2
-#define TEX_NEGALPHA   4
+#define TEX_COLORBAND          1
+#define TEX_FLIPBLEND          2
+#define TEX_NEGALPHA           4
+#define TEX_CHECKER_ODD                8
+#define TEX_CHECKER_EVEN       16
 
 /* extend (starts with 1 because of backward comp.) */
 #define TEX_EXTEND             1
 #define TEX_CLIP               2
 #define TEX_REPEAT             3
 #define TEX_CLIPCUBE   4
+#define TEX_CHECKER            5
 
 /* noisetype */
 #define TEX_NOISESOFT  0
 #define TEX_NOISEPERL  1
 
+/* tex->noisebasis2 in texture.c - wood waveforms */
+#define TEX_SIN                        0
+#define TEX_SAW                        1
+#define TEX_TRI                        2
+
+/* tex->stype in texture.c - wood types */
+#define TEX_BAND               0
+#define TEX_RING               1
+#define TEX_BANDNOISE  2
+#define TEX_RINGNOISE  3
+
+/* tex->stype in texture.c - marble types */
+#define TEX_SOFT               0
+#define TEX_SHARP              1
+#define TEX_SHARPER            2
+
+/* tex->stype in texture.c - blend types */
+#define TEX_LIN                        0
+#define TEX_QUAD               1
+#define TEX_EASE               2
+#define TEX_DIAG               3
+#define TEX_SPHERE             4
+#define TEX_HALO               5
+#define TEX_RAD                        6
+
 /* wrap */
 #define MTEX_FLAT              0
 #define MTEX_CUBE              1
@@ -202,44 +296,6 @@ typedef struct Tex {
 #define TEX_RGB                1
 #define TEX_NOR                2
 
-/* texco */
-#define TEXCO_ORCO             1
-#define TEXCO_REFL             2
-#define TEXCO_NORM             4
-#define TEXCO_GLOB             8
-#define TEXCO_UV               16
-#define TEXCO_OBJECT   32
-#define TEXCO_LAVECTOR 64
-#define TEXCO_VIEW             128
-#define TEXCO_STICKY   256
-#define TEXCO_OSA              512
-#define TEXCO_WINDOW   1024
-#define NEED_UV                        2048
-
-/* mapto */
-#define MAP_COL                        1
-#define MAP_NORM               2
-#define MAP_COLSPEC            4
-#define MAP_COLMIR             8
-#define MAP_VARS               (0xFFF0)
-#define MAP_REF                        16
-#define MAP_SPEC               32
-#define MAP_EMIT               64
-#define MAP_ALPHA              128
-#define MAP_HAR                        256
-#define MAP_XTRA               512
-#define MAP_DISPLACE   4096
-
-/* pr_type */
-#define MA_FLAT                        0
-#define MA_SPHERE              1
-#define MA_CUBE                        2
-
-/* pr_back */
-#define MA_DARK                        1
-
-/* pr_lamp     */
-
 /* **************** MTEX ********************* */
 
 /* proj */
@@ -253,12 +309,18 @@ typedef struct Tex {
 #define MTEX_STENCIL   2
 #define MTEX_NEGATIVE  4
 #define MTEX_ALPHAMIX  8
+#define MTEX_VIEWSPACE 16
 
 /* blendtype */
 #define MTEX_BLEND             0
 #define MTEX_MUL               1
 #define MTEX_ADD               2
 #define MTEX_SUB               3
+#define MTEX_DIV               4
+#define MTEX_DARK              5
+#define MTEX_DIFF              6
+#define MTEX_LIGHT             7
+#define MTEX_SCREEN            8
 
 /* **************** EnvMap ********************* */