diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2012-06-11 12:28:04 +0400 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2012-06-11 12:28:04 +0400 |
commit | 8a5252c1cb178cd2d57656375804c04a85e88e1b (patch) | |
tree | 1a9902020dc30b6192cbab68eccb611e03f89a93 /source/blender/compositor/operations/COM_GaussianBokehBlurOperation.cpp | |
parent | 31c8f4fbd39374532af0033779f5853e4be7a528 (diff) |
* Blur node had some irregularities at the edge of the screen
only visible when doing large size blurs.
also solved the catcom/mitch filter that didn't work at low/medium quality
PS never use BokehBlur Gausian filter as it is 99%+ identicat as non bokeh <= top for sergey- :)
Diffstat (limited to 'source/blender/compositor/operations/COM_GaussianBokehBlurOperation.cpp')
-rw-r--r-- | source/blender/compositor/operations/COM_GaussianBokehBlurOperation.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/compositor/operations/COM_GaussianBokehBlurOperation.cpp b/source/blender/compositor/operations/COM_GaussianBokehBlurOperation.cpp index e522d334d8b..07cc07880e7 100644 --- a/source/blender/compositor/operations/COM_GaussianBokehBlurOperation.cpp +++ b/source/blender/compositor/operations/COM_GaussianBokehBlurOperation.cpp @@ -131,10 +131,11 @@ void GaussianBokehBlurOperation::executePixel(float *color, int x, int y, Memory maxy = min(maxy, inputBuffer->getRect()->ymax); maxx = min(maxx, inputBuffer->getRect()->xmax); - int index = 0; + int index; int step = QualityStepHelper::getStep(); int offsetadd = QualityStepHelper::getOffsetAdd(); for (int ny = miny ; ny < maxy ; ny +=step) { + index = ((ny-y)+this->rady) * (this->radx*2+1) + (minx-x+this->radx); int bufferindex = ((minx - bufferstartx)*4)+((ny-bufferstarty)*4*bufferwidth); for (int nx = minx ; nx < maxx ; nx +=step) { float multiplyer = gausstab[index]; |