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:
Diffstat (limited to 'source/blender/editors/physics/particle_edit.c')
-rw-r--r--source/blender/editors/physics/particle_edit.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c
index 4825416f6e9..f12df7aa3dd 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -3254,12 +3254,13 @@ static int brush_add(PEData *data, short number)
short size= pset->brush[PE_BRUSH_ADD].size;
short size2= size*size;
DerivedMesh *dm=0;
+ RNG *rng;
invert_m4_m4(imat, ob->obmat);
if (psys->flag & PSYS_GLOBAL_HAIR)
return 0;
- BLI_srandom(psys->seed+data->mval[0]+data->mval[1]);
+ rng = BLI_rng_new_srandom(psys->seed+data->mval[0]+data->mval[1]);
sim.scene= scene;
sim.ob= ob;
@@ -3281,8 +3282,8 @@ static int brush_add(PEData *data, short number)
/* rejection sampling to get points in circle */
while (dmx*dmx + dmy*dmy > size2) {
- dmx= (2.0f*BLI_frand() - 1.0f)*size;
- dmy= (2.0f*BLI_frand() - 1.0f)*size;
+ dmx= (2.0f*BLI_rng_get_float(rng) - 1.0f)*size;
+ dmy= (2.0f*BLI_rng_get_float(rng) - 1.0f)*size;
}
}
else {
@@ -3458,6 +3459,8 @@ static int brush_add(PEData *data, short number)
if (!psmd->dm->deformedOnly)
dm->release(dm);
+ BLI_rng_free(rng);
+
return n;
}