[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30119] branches/soc-2010-jwilkins/source/ blender/blenkernel/intern/brush.c: * changed brush_jitter_pos to find random positions within a circle instead of a square .
Jason Wilkins
Jason.A.Wilkins at gmail.com
Thu Jul 8 18:08:56 CEST 2010
Revision: 30119
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30119
Author: jwilkins
Date: 2010-07-08 18:08:56 +0200 (Thu, 08 Jul 2010)
Log Message:
-----------
* changed brush_jitter_pos to find random positions within a circle instead of a square.
Modified Paths:
--------------
branches/soc-2010-jwilkins/source/blender/blenkernel/intern/brush.c
Modified: branches/soc-2010-jwilkins/source/blender/blenkernel/intern/brush.c
===================================================================
--- branches/soc-2010-jwilkins/source/blender/blenkernel/intern/brush.c 2010-07-08 15:35:27 UTC (rev 30118)
+++ branches/soc-2010-jwilkins/source/blender/blenkernel/intern/brush.c 2010-07-08 16:08:56 UTC (rev 30119)
@@ -764,8 +764,16 @@
static void brush_jitter_pos(Brush *brush, float *pos, float *jitterpos)
{
if(brush->jitter){
- jitterpos[0] = pos[0] + ((BLI_frand()-0.5f) * brush->size * brush->jitter * 2);
- jitterpos[1] = pos[1] + ((BLI_frand()-0.5f) * brush->size * brush->jitter * 2);
+ float rand_pos[2];
+
+ // find random position within a unit circle
+ do {
+ rand_pos[0] = BLI_frand()-0.5f;
+ rand_pos[1] = BLI_frand()-0.5f;
+ } while (len_v2(rand_pos) > 0.5f);
+
+ jitterpos[0] = pos[0] + 2*rand_pos[0]*brush->size*brush->jitter;
+ jitterpos[1] = pos[1] + 2*rand_pos[1]*brush->size*brush->jitter;
}
else {
VECCOPY2D(jitterpos, pos);
More information about the Bf-blender-cvs
mailing list