Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/compositor/operations/COM_GlareSimpleStarOperation.cc')
-rw-r--r--source/blender/compositor/operations/COM_GlareSimpleStarOperation.cc41
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;
}