diff options
| author | Tim Redfern <tim@getdrop.com> | 2018-10-30 23:38:41 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@getdrop.com> | 2018-10-30 23:38:41 +0000 |
| commit | b552beeaa899d0ac5c7d3388bc911f16cc1dbc4c (patch) | |
| tree | 1aa17ad38f6d481659e6ddd856cedc5b2886670d /gui/src/chainImage.cpp | |
| parent | 9fe89712b7106cc8dab9af95ba53e0265202485c (diff) | |
drawing 3 layer additive for I_cried
Diffstat (limited to 'gui/src/chainImage.cpp')
| -rw-r--r-- | gui/src/chainImage.cpp | 19 |
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); |
