Layer_Composite(1.0,Color::BLEND_STRAIGHT),
color(Color::black())
{
+ centers.push_back(Point( 0, -1.5)); radii.push_back(2.5); weights.push_back(1);
+ centers.push_back(Point(-2, 1)); radii.push_back(2.5); weights.push_back(1);
+ centers.push_back(Point( 2, 1)); radii.push_back(2.5); weights.push_back(1);
}
bool
Metaballs::get_color(Context context, const Point &pos)const
{
if (totaldensity(pos) >= threshold)
- return Color::blend(color,context.get_color(pos),get_amount(),get_blend_method());
+ {
+ if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
+ return color;
+ else
+ return Color::blend(color,context.get_color(pos),get_amount(),get_blend_method());
+ }
else
return context.get_color(pos);
}