projects
/
synfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Multiplying a gradient by zero empties it.
[synfig.git]
/
synfig-core
/
trunk
/
src
/
modules
/
mod_particle
/
plant.cpp
diff --git
a/synfig-core/trunk/src/modules/mod_particle/plant.cpp
b/synfig-core/trunk/src/modules/mod_particle/plant.cpp
index
68f7141
..
ef610c5
100644
(file)
--- a/
synfig-core/trunk/src/modules/mod_particle/plant.cpp
+++ b/
synfig-core/trunk/src/modules/mod_particle/plant.cpp
@@
-443,6
+443,7
@@
Plant::accelerated_render(Context context,Surface *surface,int quality, const Re
sync();
std::vector<Particle>::reverse_iterator iter;
sync();
std::vector<Particle>::reverse_iterator iter;
+
float radius(size*sqrt(1.0f/(abs(pw)*abs(ph))));
int x1,y1,x2,y2;
float radius(size*sqrt(1.0f/(abs(pw)*abs(ph))));
int x1,y1,x2,y2;
@@
-456,6
+457,11
@@
Plant::accelerated_render(Context context,Surface *surface,int quality, const Re
color.set_a(1);
}
color.set_a(1);
}
+ // previously, radius was multiplied by sqrt(step)*12 only if
+ // the radius came out at less than 1 (pixel):
+ // if (radius<=1.0f) radius*=sqrt(step)*12.0f;
+ // seems a little arbitrary - does it help?
+
// calculate the box that this particle will be drawn as
float x1f=(iter->point[0]-tl[0])/pw-(scaled_radius*0.5);
float x2f=(iter->point[0]-tl[0])/pw+(scaled_radius*0.5);
// calculate the box that this particle will be drawn as
float x1f=(iter->point[0]-tl[0])/pw-(scaled_radius*0.5);
float x2f=(iter->point[0]-tl[0])/pw+(scaled_radius*0.5);