Merge branch 'master' into blender2.8
[blender.git] / source / blender / blenkernel / BKE_particle.h
index 9492f7e32fa6482e365deb79e3b1e20e3323fd98..2db4126057abc00dcce6ec336523922751f16543 100644 (file)
@@ -115,6 +115,7 @@ typedef struct ParticleTexture {
        float damp, gravity, field;           /* used in physics */
        float length, clump, kink_freq, kink_amp, effector;  /* used in path caching */
        float rough1, rough2, roughe;         /* used in path caching */
+       float twist;  /* used in path caching */
 } ParticleTexture;
 
 typedef struct ParticleSeam {
@@ -162,9 +163,11 @@ typedef struct ParticleThreadContext {
        float *vg_length, *vg_clump, *vg_kink;
        float *vg_rough1, *vg_rough2, *vg_roughe;
        float *vg_effector;
+       float *vg_twist;
 
        struct CurveMapping *clumpcurve;
        struct CurveMapping *roughcurve;
+       struct CurveMapping *twistcurve;
 } ParticleThreadContext;
 
 typedef struct ParticleTask {
@@ -353,6 +356,7 @@ int psys_get_particle_state(struct ParticleSimulationData *sim, int p, struct Pa
 /* child paths */
 void BKE_particlesettings_clump_curve_init(struct ParticleSettings *part);
 void BKE_particlesettings_rough_curve_init(struct ParticleSettings *part);
+void BKE_particlesettings_twist_curve_init(struct ParticleSettings *part);
 void psys_apply_child_modifiers(struct ParticleThreadContext *ctx, struct ListBase *modifiers,
                                 struct ChildParticle *cpa, struct ParticleTexture *ptex, const float orco[3], const float ornor[3], float hairmat[4][4],
                                 struct ParticleCacheKey *keys, struct ParticleCacheKey *parent_keys, const float parent_orco[3]);