summaryrefslogtreecommitdiff
path: root/gui/src/chainImage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/chainImage.cpp')
-rw-r--r--gui/src/chainImage.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/gui/src/chainImage.cpp b/gui/src/chainImage.cpp
index a6cde14..40e483a 100644
--- a/gui/src/chainImage.cpp
+++ b/gui/src/chainImage.cpp
@@ -479,9 +479,15 @@ void chainImage::drawChain(float fadeIn,bool additive,float intensity,float zoom
glScalef(getLinkScale(),getLinkScale(),getLinkScale());
//ofEnableAlphaBlending();
- glEnable(GL_BLEND);
+ if (additive){
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE);
+ ofSetColor(255,255,255,255);
+ }
+ else {
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ ofSetColor(255,255,255,255*min(1.0,transition/fadeIn)*intensity);
+ }
- ofSetColor(255,255,255,255*min(1.0,transition/fadeIn)*intensity);
//setting alpha here doesn't work with shader?
//possibly if you could set the alpha when drawing?
@@ -497,6 +503,15 @@ void chainImage::drawChain(float fadeIn,bool additive,float intensity,float zoom
//link->setAlpha(transition);
link->draw(0,0,link->getWidth(),link->getHeight());
+ if (additive){
+ ofSetColor(255,255,255,255*min(1.0,transition/fadeIn)*intensity);
+ glTranslatef(link->getLinkPos().x,link->getLinkPos().y,0);
+ glRotatef(link->getLinkRot(),0,0,1);
+ glScalef(link->getLinkScale(),link->getLinkScale(),link->getLinkScale());
+ link->link->setAnchorPoint(link->link->getWidth()/2,link->link->getHeight()/2);
+ link->link->draw(0,0,link->link->getWidth(),link->link->getHeight());
+ }
+
glDisable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);