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_GaussianYBlurOperation.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_GaussianYBlurOperation.cpp')
-rw-r--r-- | source/blender/compositor/operations/COM_GaussianYBlurOperation.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/compositor/operations/COM_GaussianYBlurOperation.cpp b/source/blender/compositor/operations/COM_GaussianYBlurOperation.cpp index 28e8e548530..c7da43fc20f 100644 --- a/source/blender/compositor/operations/COM_GaussianYBlurOperation.cpp +++ b/source/blender/compositor/operations/COM_GaussianYBlurOperation.cpp @@ -91,10 +91,11 @@ void GaussianYBlurOperation::executePixel(float *color, int x, int y, MemoryBuff maxx = min(maxx, inputBuffer->getRect()->xmax); int step = getStep(); - int index = 0; + int index; for (int ny = miny ; ny < maxy ; ny +=step) { + index = (ny-y)+this->rad; int bufferindex = ((minx - bufferstartx)*4)+((ny-bufferstarty)*4*bufferwidth); - float multiplyer = gausstab[index++]; + float multiplyer = gausstab[index]; tempColor[0] += multiplyer * buffer[bufferindex]; tempColor[1] += multiplyer * buffer[bufferindex+1]; tempColor[2] += multiplyer * buffer[bufferindex+2]; |