diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2014-09-26 16:13:32 +0400 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2014-09-26 16:22:52 +0400 |
commit | a5159b5fba951197e3571fb06f62809409fb4306 (patch) | |
tree | d0f9b939bc250635c050cde09abee8993dce6f8e | |
parent | 8f6a99376961175a02d94088cc5df3feeb762e36 (diff) |
Fix T41956, Soften brush does not work
Disallow blur radius zero (versioning error).
Also fix gaussian distibution for blurring
This is to be included in the final release.
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_image.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c index 0e3592f59ee..87866f764bc 100644 --- a/source/blender/editors/sculpt_paint/paint_image.c +++ b/source/blender/editors/sculpt_paint/paint_image.c @@ -527,8 +527,11 @@ BlurKernel *paint_new_blur_kernel(Brush *br, bool proj) kernel->pixel_len = radius; } else { - radius = br->blur_kernel_radius; + if (br->blur_kernel_radius <= 0) + br->blur_kernel_radius = 1; + radius = br->blur_kernel_radius; + side = kernel->side = radius * 2 + 1; kernel->side_squared = kernel->side * kernel->side; kernel->wdata = MEM_mallocN(sizeof(float) * kernel->side_squared, "blur kernel data"); @@ -543,11 +546,11 @@ BlurKernel *paint_new_blur_kernel(Brush *br, bool proj) case KERNEL_GAUSSIAN: { - /* at standard deviation of 3.0 kernel is at about zero */ + /* at 3.0 standard deviations distance, kernel is about zero */ float standard_dev = radius / 3.0f; /* make the necessary adjustment to the value for use in the normal distribution formula */ - standard_dev = standard_dev * standard_dev * 2; + standard_dev = -standard_dev * standard_dev * 2; for (i = 0; i < side; i++) { for (j = 0; j < side; j++) { |