diff options
| author | Tim Redfern <tim@getdrop.com> | 2017-08-31 23:16:52 +0100 |
|---|---|---|
| committer | Tim Redfern <tim@getdrop.com> | 2017-08-31 23:16:52 +0100 |
| commit | 14da9cce8d665d2872b76909e8abc001a9921297 (patch) | |
| tree | 872a61f062f3353e664c080c9f63c7ead3f53899 /gui/src/chainImage.cpp | |
| parent | 4637492e2a31c78f9109941638171d05e4007c4c (diff) | |
additive no good
Diffstat (limited to 'gui/src/chainImage.cpp')
| -rw-r--r-- | gui/src/chainImage.cpp | 38 |
1 files changed, 32 insertions, 6 deletions
diff --git a/gui/src/chainImage.cpp b/gui/src/chainImage.cpp index e2ee598..275b107 100644 --- a/gui/src/chainImage.cpp +++ b/gui/src/chainImage.cpp @@ -113,7 +113,7 @@ void chainImage::makeThumbnail(){ thumbnail.setAnchorPoint(thumbnail.getWidth()/2,thumbnail.getHeight()/2); } -void chainImage::drawChain(float fadeIn){ +void chainImage::drawChain(float fadeIn,bool additive, float intensity){ //printf("Drawing chain transition: %f\n",transition); //we are correctly geting to 1 @@ -121,9 +121,20 @@ void chainImage::drawChain(float fadeIn){ glPushMatrix(); - ofDisableAlphaBlending(); + 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); + } - ofSetColor(255,255,255,255); + //ofDisableAlphaBlending(); + + setAnchorPoint(getWidth()/2,getHeight()/2); @@ -135,14 +146,18 @@ void chainImage::drawChain(float fadeIn){ glScalef(linkScale,linkScale,linkScale); - ofEnableAlphaBlending(); + //ofEnableAlphaBlending(); + glEnable(GL_BLEND); - ofSetColor(255,255,255,255*min(1.0,transition/fadeIn)); + ofSetColor(255,255,255,255*min(1.0,transition/fadeIn)*intensity); link->setAnchorPoint(link->getWidth()/2,link->getHeight()/2); link->draw(0,0,link->getWidth(),link->getHeight()); + glDisable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glPopMatrix(); } @@ -173,8 +188,15 @@ void chainImageSet::drawOutput(){ float camera_throw= (float)outputSize.y/(float)outputSize.x; //the ratio of z distance to x width + camera_throw*=0.9; //fudge factor to allow tweening + if (images.size()){ +/* + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glOrtho(-ofGetWidth()/2, ofGetWidth()/2, ofGetHeight()/2, -ofGetHeight()/2, 0.0f, 5000.0f); +*/ glMatrixMode ( GL_MODELVIEW ); glLoadIdentity ( ); gluLookAt( currentImage->getTransform().x, @@ -188,7 +210,7 @@ void chainImageSet::drawOutput(){ 0); - currentImage->drawChain(); + currentImage->drawChain(DEFAULT_FADEIN,additive,intensity); } @@ -391,6 +413,7 @@ void chainImageSet::keyPressed(ofKeyEventArgs &keyargs){ break; case OF_KEY_BACKSPACE:{ images.clear(); + filename.clear(); /* auto previous=selected; previous--; @@ -463,6 +486,9 @@ void chainImageSet::mouseDragged(int x, int y, int button){ case OF_MOUSE_BUTTON_3: //control-click dragScale=(y-clickPoint.y)/(selected->thumbnail.getHeight()); + //if (dragScale*selected->linkScale<0.15){ + // dragScale=0.15/selected->linkScale; + //} break; } } |
