diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-06-13 00:04:55 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-06-13 00:04:55 +0400 |
commit | e1241030db424ce10e9fee04076ff7e209eac98c (patch) | |
tree | ac8e1a81a81fa130e166366c6b93587e77e4188f /source/blender/compositor/operations/COM_BilateralBlurOperation.cpp | |
parent | 7fec7070d7fcf7bde53768e555b40b57ef4a7552 (diff) |
yse BLI_math for the compositor in more places.
Diffstat (limited to 'source/blender/compositor/operations/COM_BilateralBlurOperation.cpp')
-rw-r--r-- | source/blender/compositor/operations/COM_BilateralBlurOperation.cpp | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/source/blender/compositor/operations/COM_BilateralBlurOperation.cpp b/source/blender/compositor/operations/COM_BilateralBlurOperation.cpp index 88fe17f633e..7129e7c140a 100644 --- a/source/blender/compositor/operations/COM_BilateralBlurOperation.cpp +++ b/source/blender/compositor/operations/COM_BilateralBlurOperation.cpp @@ -62,36 +62,27 @@ void BilateralBlurOperation::executePixel(float *color, int x, int y, MemoryBuff int maxy = ceil(y + space); float deltaColor; this->inputDeterminatorProgram->read(determinatorReferenceColor, x, y, inputBuffers, data); - - blurColor[0] = 0.0f; - blurColor[1] = 0.0f; - blurColor[2] = 0.0f; - blurColor[3] = 0.0f; + + zero_v4(blurColor); blurDivider = 0.0f; for (int yi = miny ; yi < maxy ; yi+=QualityStepHelper::getStep()) { for (int xi = minx ; xi < maxx ; xi+=QualityStepHelper::getStep()) { // read determinator this->inputDeterminatorProgram->read(determinator, xi, yi, inputBuffers, data); - deltaColor = fabsf(determinatorReferenceColor[0] - determinator[0])+ - fabsf(determinatorReferenceColor[1] - determinator[1])+ - fabsf(determinatorReferenceColor[2] - determinator[2]); // do not take the alpha channel into account + deltaColor = (fabsf(determinatorReferenceColor[0] - determinator[0]) + + fabsf(determinatorReferenceColor[1] - determinator[1]) + + fabsf(determinatorReferenceColor[2] - determinator[2])); // do not take the alpha channel into account if (deltaColor< sigmacolor) { // add this to the blur this->inputColorProgram->read(tempColor, xi, yi, inputBuffers, data); - blurColor[0]+=tempColor[0]; - blurColor[1]+=tempColor[1]; - blurColor[2]+=tempColor[2]; - blurColor[3]+=tempColor[3]; + add_v4_v4(blurColor, tempColor); blurDivider += 1.0f; } } } if (blurDivider > 0.0f) { - color[0] = blurColor[0]/blurDivider; - color[1] = blurColor[1]/blurDivider; - color[2] = blurColor[2]/blurDivider; - color[3] = blurColor[3]/blurDivider; + mul_v4_v4fl(color, blurColor, 1.0f / blurDivider); } else { color[0] = 0.0f; |