Revision: 16182
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16182
Author:   genscher
Date:     2008-08-18 21:32:21 +0200 (Mon, 18 Aug 2008)

Log Message:
-----------
Little tweaks so 0 wind results in 0 noise, also removed double-mass dependancy 
in cloth

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_effect.h
    trunk/blender/source/blender/blenkernel/intern/effect.c
    trunk/blender/source/blender/blenkernel/intern/implicit.c

Modified: trunk/blender/source/blender/blenkernel/BKE_effect.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_effect.h        2008-08-18 
19:31:40 UTC (rev 16181)
+++ trunk/blender/source/blender/blenkernel/BKE_effect.h        2008-08-18 
19:32:21 UTC (rev 16182)
@@ -66,7 +66,7 @@
 void                   pdDoEffectors(struct ListBase *lb, float *opco, float 
*force, float *speed, float cur_time, float loc_time, unsigned int flags);
 
 /* required for particle_system.c */
-void do_physical_effector(short type, float force_val, float distance, float 
falloff, float size, float damp, float *eff_velocity, float *vec_to_part, float 
*velocity, float *field, int planar, struct RNG *rng, float noise);
+void do_physical_effector(short type, float force_val, float distance, float 
falloff, float size, float damp, float *eff_velocity, float *vec_to_part, float 
*velocity, float *field, int planar, struct RNG *rng, float noise_factor);
 float effector_falloff(struct PartDeflect *pd, float *eff_velocity, float 
*vec_to_part);
 
 

Modified: trunk/blender/source/blender/blenkernel/intern/effect.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/effect.c     2008-08-18 
19:31:40 UTC (rev 16181)
+++ trunk/blender/source/blender/blenkernel/intern/effect.c     2008-08-18 
19:32:21 UTC (rev 16182)
@@ -315,12 +315,12 @@
        return falloff;
 }
 
-void do_physical_effector(short type, float force_val, float distance, float 
falloff, float size, float damp, float *eff_velocity, float *vec_to_part, float 
*velocity, float *field, int planar, struct RNG *rng, float noise)
+void do_physical_effector(short type, float force_val, float distance, float 
falloff, float size, float damp, float *eff_velocity, float *vec_to_part, float 
*velocity, float *field, int planar, struct RNG *rng, float noise_factor)
 {
        float mag_vec[3]={0,0,0};
        float temp[3], temp2[3];
        float eff_vel[3];
-       float wind = 0;
+       float noise = 0;
 
        VecCopyf(eff_vel,eff_velocity);
        Normalize(eff_vel);
@@ -329,11 +329,11 @@
                case PFIELD_WIND:
                        VECCOPY(mag_vec,eff_vel);
                        
-                       // add wind noise here
-                       if(noise> 0.0f)
-                               wind = wind_func(rng, noise);
-
-                       VecMulf(mag_vec,(force_val+wind)*falloff);
+                       // add wind noise here, only if we have wind
+                       if((noise_factor> 0.0f) && (force_val > FLT_EPSILON))
+                               noise = wind_func(rng, noise_factor);
+                       
+                       VecMulf(mag_vec,(force_val+noise)*falloff);
                        VecAddf(field,field,mag_vec);
                        break;
 

Modified: trunk/blender/source/blender/blenkernel/intern/implicit.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/implicit.c   2008-08-18 
19:31:40 UTC (rev 16181)
+++ trunk/blender/source/blender/blenkernel/intern/implicit.c   2008-08-18 
19:32:21 UTC (rev 16182)
@@ -1452,6 +1452,7 @@
                        float triunnormal[3]={0,0,0}; // 
not-normalized-triangle normal
                        float tmp[3]={0,0,0};
                        float factor = (mfaces[i].v4) ? 0.25 : 1.0 / 3.0;
+                       factor *= 0.02;
                        
                        // calculate face normal
                        if(mfaces[i].v4)
@@ -1465,24 +1466,24 @@
                        // add wind from v1
                        VECCOPY(tmp, trinormal);
                        VecMulf(tmp, 
calculateVertexWindForce(winvec[mfaces[i].v1], triunnormal));
-                       VECADDS(lF[mfaces[i].v1], lF[mfaces[i].v1], tmp, 
factor*verts[mfaces[i].v1].mass);
+                       VECADDS(lF[mfaces[i].v1], lF[mfaces[i].v1], tmp, 
factor);
                        
                        // add wind from v2
                        VECCOPY(tmp, trinormal);
                        VecMulf(tmp, 
calculateVertexWindForce(winvec[mfaces[i].v2], triunnormal));
-                       VECADDS(lF[mfaces[i].v2], lF[mfaces[i].v2], tmp, 
factor*verts[mfaces[i].v2].mass);
+                       VECADDS(lF[mfaces[i].v2], lF[mfaces[i].v2], tmp, 
factor);
                        
                        // add wind from v3
                        VECCOPY(tmp, trinormal);
                        VecMulf(tmp, 
calculateVertexWindForce(winvec[mfaces[i].v3], triunnormal));
-                       VECADDS(lF[mfaces[i].v3], lF[mfaces[i].v3], tmp, 
factor*verts[mfaces[i].v3].mass);
+                       VECADDS(lF[mfaces[i].v3], lF[mfaces[i].v3], tmp, 
factor);
                        
                        // add wind from v4
                        if(mfaces[i].v4)
                        {
                                VECCOPY(tmp, trinormal);
                                VecMulf(tmp, 
calculateVertexWindForce(winvec[mfaces[i].v4], triunnormal));
-                               VECADDS(lF[mfaces[i].v4], lF[mfaces[i].v4], 
tmp, factor*verts[mfaces[i].v4].mass);
+                               VECADDS(lF[mfaces[i].v4], lF[mfaces[i].v4], 
tmp, factor);
                        }
                }
                del_lfvector(winvec);


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to