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.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/gui/src/chainImage.cpp b/gui/src/chainImage.cpp
index 41d32fc..7a1b12e 100644
--- a/gui/src/chainImage.cpp
+++ b/gui/src/chainImage.cpp
@@ -428,7 +428,7 @@ ofImage makeLut(float gamma,float pedestal,float clamp){
return image;
}
-void chainImage::drawChain(float fadeIn,bool additive,float intensity,float zoomMultiplier,float startGamma){
+void chainImage::drawChain(float fadeIn,bool additive,bool alpha,float intensity,float zoomMultiplier,float startGamma){
//printf("Drawing chain transition: %f\n",transition);
//we are correctly geting to 1
@@ -437,15 +437,21 @@ void chainImage::drawChain(float fadeIn,bool additive,float intensity,float zoom
glPushMatrix();
+
+ if (additive||alpha){
+ ofSetColor(255,255,255,255*(1.0f-min(1.0,transition/fadeIn))*intensity);
+ }
+ else {
+ ofSetColor(255,255,255,255*intensity);
+ }
+
if (additive){
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
- ofSetColor(255,255,255,255*(1.0f-min(1.0,transition/fadeIn))*intensity);
}
else {
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- ofSetColor(255,255,255,255*intensity);
}
//ofDisableAlphaBlending();
@@ -455,7 +461,6 @@ void chainImage::drawChain(float fadeIn,bool additive,float intensity,float zoom
setAnchorPoint(getWidth()/2,getHeight()/2);
//add a scale factor to the outgoing image that builds up over the transition
-
glPushMatrix();
//if this is linear we see the jump from the unlessaccelerated phase
@@ -478,16 +483,13 @@ void chainImage::drawChain(float fadeIn,bool additive,float intensity,float zoom
glScalef(getLinkScale(),getLinkScale(),getLinkScale());
- //ofEnableAlphaBlending();
- if (additive){
- glBlendFunc(GL_SRC_ALPHA, GL_ONE);
+ if (additive||alpha){
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);
}
-
+
//setting alpha here doesn't work with shader?
//possibly if you could set the alpha when drawing?
@@ -503,7 +505,7 @@ void chainImage::drawChain(float fadeIn,bool additive,float intensity,float zoom
//link->setAlpha(transition);
link->draw(0,0,link->getWidth(),link->getHeight());
- if (additive){
+ if (additive||alpha){
glTranslatef(link->getLinkPos().x,link->getLinkPos().y,0);
glRotatef(link->getLinkRot(),0,0,1);
@@ -511,7 +513,7 @@ void chainImage::drawChain(float fadeIn,bool additive,float intensity,float zoom
link->link->setAnchorPoint(link->link->getWidth()/2,link->link->getHeight()/2);
link->link->draw(0,0,link->link->getWidth(),link->link->getHeight());
- ofSetColor(255,255,255,255*min(1.0,transition/fadeIn)*intensity);
+ //remove?? _> ofSetColor(255,255,255,255*min(1.0,transition/fadeIn)*intensity);
glTranslatef(link->link->getLinkPos().x,link->link->getLinkPos().y,0);
glRotatef(link->link->getLinkRot(),0,0,1);