Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanne Karhu <jhkarh@gmail.com>2011-02-12 17:38:34 +0300
committerJanne Karhu <jhkarh@gmail.com>2011-02-12 17:38:34 +0300
commitfafbd9d71b95776d1c7583476de74fccefab7f10 (patch)
tree838e0fbc2e53c0700a87ebc1fdf4798837ffda3e /source/blender/makesdna/DNA_particle_types.h
parentc8c86aa6a12a253680aa266ce1c5d51b1b39005a (diff)
Particles todo item: particle textures
* Effecting particle properties with textures was possible in 2.49, but not in 2.5 anymore. * Now particles have their own textures (available in texture panel for objects with particle systems), which are totally separate from the material textures. * Currently a basic set of particle properties is available for texture control. Some others could still be added, but the whole system is not intended as an "change anything with a texture" as this kind of functionality will be provided with node particles in the future much better. * Combined with the previously added "particle texture coordinates" this new functionality also solves the problem of animating particle properties through the particle lifetime nicely. * Currently the textures only use the intensity of the texture in "multiply" blending mode, so in order for the textures to effect a particle parameter there has to be a non-zero value defined for the parameter in the particle settings. Other blend modes can be added later if they're considered useful enough.
Diffstat (limited to 'source/blender/makesdna/DNA_particle_types.h')
-rw-r--r--source/blender/makesdna/DNA_particle_types.h29
1 files changed, 26 insertions, 3 deletions
diff --git a/source/blender/makesdna/DNA_particle_types.h b/source/blender/makesdna/DNA_particle_types.h
index e26414a0d72..1a0e6a3db7d 100644
--- a/source/blender/makesdna/DNA_particle_types.h
+++ b/source/blender/makesdna/DNA_particle_types.h
@@ -142,7 +142,7 @@ typedef struct ParticleSettings {
struct EffectorWeights *effector_weights;
int flag;
- short type, from, distr;
+ short type, from, distr, texact;
/* physics modes */
short phystype, rotmode, avemode, reactevent;
short draw, draw_as, draw_size, childtype;
@@ -155,7 +155,7 @@ typedef struct ParticleSettings {
short adapt_angle, adapt_pix;
short disp, omat, interpolation, rotfrom, integrator;
- short kink, kink_axis;
+ short kink, kink_axis, rt2;
/* billboards */
short bb_align, bb_uv_split, bb_anim, bb_split_offset;
@@ -169,7 +169,7 @@ typedef struct ParticleSettings {
/* general values */
float sta, end, lifetime, randlife;
float timetweak, jitfac, eff_hair, grid_rand;
- int totpart, userjit, grid_res, rt;
+ int totpart, userjit, grid_res;
/* initial velocity factors */
float normfac, obfac, randfac, partfac, tanfac, tanphase, reactfac;
@@ -208,6 +208,8 @@ typedef struct ParticleSettings {
/* keyed particles */
int keyed_loops;
+ struct MTex *mtex[18]; /* MAX_MTEX */
+
struct Group *dup_group;
struct ListBase dupliweights;
struct Group *eff_group; // deprecated
@@ -508,4 +510,25 @@ typedef struct ParticleSystem{ /* note, make sure all (runtime) are NULL's in
#define PTARGET_MODE_FRIEND 1
#define PTARGET_MODE_ENEMY 2
+/* mapto */
+/* init */
+#define PAMAP_INIT 15
+#define PAMAP_TIME (1<<0) /* emission time */
+#define PAMAP_LIFE (1<<1) /* life time */
+#define PAMAP_DENS (1<<2) /* density */
+#define PAMAP_SIZE (1<<3) /* physical size */
+/* reset */
+#define PAMAP_IVEL (1<<5) /* initial velocity */
+/* physics */
+#define PAMAP_PHYSICS 3136
+#define PAMAP_FIELD (1<<6) /* force fields */
+#define PAMAP_GRAVITY (1<<10)
+#define PAMAP_DAMP (1<<11)
+/* children */
+#define PAMAP_CHILD 912
+#define PAMAP_CLUMP (1<<7)
+#define PAMAP_KINK (1<<8)
+#define PAMAP_ROUGH (1<<9)
+#define PAMAP_LENGTH (1<<4)
+
#endif