diff options
Diffstat (limited to 'source/blender/compositor/operations/COM_GlareSimpleStarOperation.cc')
-rw-r--r-- | source/blender/compositor/operations/COM_GlareSimpleStarOperation.cc | 41 |
1 files changed, 19 insertions, 22 deletions
diff --git a/source/blender/compositor/operations/COM_GlareSimpleStarOperation.cc b/source/blender/compositor/operations/COM_GlareSimpleStarOperation.cc index 75c2ae51bde..a2cecb7e171 100644 --- a/source/blender/compositor/operations/COM_GlareSimpleStarOperation.cc +++ b/source/blender/compositor/operations/COM_GlareSimpleStarOperation.cc @@ -27,8 +27,8 @@ void GlareSimpleStarOperation::generateGlare(float *data, const float f1 = 1.0f - settings->fade; const float f2 = (1.0f - f1) * 0.5f; - MemoryBuffer *tbuf1 = inputTile->duplicate(); - MemoryBuffer *tbuf2 = inputTile->duplicate(); + MemoryBuffer tbuf1(*inputTile); + MemoryBuffer tbuf2(*inputTile); bool breaked = false; for (i = 0; i < settings->iter && (!breaked); i++) { @@ -40,23 +40,23 @@ void GlareSimpleStarOperation::generateGlare(float *data, for (x = 0; x < this->getWidth(); x++) { xm = x - i; xp = x + i; - tbuf1->read(c, x, y); + tbuf1.read(c, x, y); mul_v3_fl(c, f1); - tbuf1->read(tc, (settings->star_45 ? xm : x), ym); + tbuf1.read(tc, (settings->star_45 ? xm : x), ym); madd_v3_v3fl(c, tc, f2); - tbuf1->read(tc, (settings->star_45 ? xp : x), yp); + tbuf1.read(tc, (settings->star_45 ? xp : x), yp); madd_v3_v3fl(c, tc, f2); c[3] = 1.0f; - tbuf1->writePixel(x, y, c); + tbuf1.writePixel(x, y, c); - tbuf2->read(c, x, y); + tbuf2.read(c, x, y); mul_v3_fl(c, f1); - tbuf2->read(tc, xm, (settings->star_45 ? yp : y)); + tbuf2.read(tc, xm, (settings->star_45 ? yp : y)); madd_v3_v3fl(c, tc, f2); - tbuf2->read(tc, xp, (settings->star_45 ? ym : y)); + tbuf2.read(tc, xp, (settings->star_45 ? ym : y)); madd_v3_v3fl(c, tc, f2); c[3] = 1.0f; - tbuf2->writePixel(x, y, c); + tbuf2.writePixel(x, y, c); } if (isBraked()) { breaked = true; @@ -69,23 +69,23 @@ void GlareSimpleStarOperation::generateGlare(float *data, for (x = this->getWidth() - 1; x >= 0; x--) { xm = x - i; xp = x + i; - tbuf1->read(c, x, y); + tbuf1.read(c, x, y); mul_v3_fl(c, f1); - tbuf1->read(tc, (settings->star_45 ? xm : x), ym); + tbuf1.read(tc, (settings->star_45 ? xm : x), ym); madd_v3_v3fl(c, tc, f2); - tbuf1->read(tc, (settings->star_45 ? xp : x), yp); + tbuf1.read(tc, (settings->star_45 ? xp : x), yp); madd_v3_v3fl(c, tc, f2); c[3] = 1.0f; - tbuf1->writePixel(x, y, c); + tbuf1.writePixel(x, y, c); - tbuf2->read(c, x, y); + tbuf2.read(c, x, y); mul_v3_fl(c, f1); - tbuf2->read(tc, xm, (settings->star_45 ? yp : y)); + tbuf2.read(tc, xm, (settings->star_45 ? yp : y)); madd_v3_v3fl(c, tc, f2); - tbuf2->read(tc, xp, (settings->star_45 ? ym : y)); + tbuf2.read(tc, xp, (settings->star_45 ? ym : y)); madd_v3_v3fl(c, tc, f2); c[3] = 1.0f; - tbuf2->writePixel(x, y, c); + tbuf2.writePixel(x, y, c); } if (isBraked()) { breaked = true; @@ -94,9 +94,6 @@ void GlareSimpleStarOperation::generateGlare(float *data, } for (i = 0; i < this->getWidth() * this->getHeight() * 4; i++) { - data[i] = tbuf1->getBuffer()[i] + tbuf2->getBuffer()[i]; + data[i] = tbuf1.getBuffer()[i] + tbuf2.getBuffer()[i]; } - - delete tbuf1; - delete tbuf2; } |