diff options
| author | Tim Redfern <tim@getdrop.com> | 2018-11-18 01:26:53 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@getdrop.com> | 2018-11-18 01:26:53 +0000 |
| commit | 7ebbce5e53efce80bc48fa6f492451df4107e8b5 (patch) | |
| tree | 5f696004da987700ccbc6bd3f58f447bd728d900 /gui | |
| parent | 7e0ccebd5167da4d0bb4de1fb9b0ebb68f2bbe82 (diff) | |
Diffstat (limited to 'gui')
| -rw-r--r-- | gui/.DS_Store | bin | 8196 -> 8196 bytes | |||
| -rw-r--r-- | gui/src/chainImage.cpp | 24 | ||||
| -rw-r--r-- | gui/src/chainImage.h | 15 | ||||
| -rw-r--r-- | gui/src/chainImageSet.cpp | 4 | ||||
| -rw-r--r-- | gui/src/chainImageSet.h | 2 | ||||
| -rw-r--r-- | gui/src/ofApp.cpp | 18 |
6 files changed, 47 insertions, 16 deletions
diff --git a/gui/.DS_Store b/gui/.DS_Store Binary files differindex 1a71078..2a9a926 100644 --- a/gui/.DS_Store +++ b/gui/.DS_Store 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); diff --git a/gui/src/chainImage.h b/gui/src/chainImage.h index 75f290e..cebb940 100644 --- a/gui/src/chainImage.h +++ b/gui/src/chainImage.h @@ -45,8 +45,21 @@ class chainImage : public ofImage{ bool tload(std::string _filename){ printf("tload : %s\n",_filename.c_str()); filename=_filename; + + //ofTexture& texture=getTexture(); + //glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE); + if (ofImage::load(filename)){ + + //ofDisableArbTex(); + //GLint minFilter=GL_LINEAR_MIPMAP_LINEAR; + //GLint magFilter=GL_LINEAR; + //ofTexture& texture=getTexture(); + ///texture.generateMipmap(); + //texture.setTextureMinMagFilter(minFilter,magFilter); + makeThumbnail(); + //setImageType(OF_IMAGE_COLOR_ALPHA); //could there be a way to load without committing the texture //setUseTexture(false); @@ -83,7 +96,7 @@ class chainImage : public ofImage{ void updateRotationTimeline(); - void drawChain(float fadeIn=DEFAULT_FADEIN,bool additive =false, float intensity=1.0f, float zoomMultiplier=1.0f,float startGamma=1.0f); + void drawChain(float fadeIn=DEFAULT_FADEIN,bool additive =false, bool alpha =false,float intensity=1.0f, float zoomMultiplier=1.0f,float startGamma=1.0f); void gpu_drawChain(float fadeIn=DEFAULT_FADEIN,bool additive =false, float intensity=1.0f, float zoomMultiplier=1.0f); void gpu_drawImage(); diff --git a/gui/src/chainImageSet.cpp b/gui/src/chainImageSet.cpp index 586194c..776ec8d 100644 --- a/gui/src/chainImageSet.cpp +++ b/gui/src/chainImageSet.cpp @@ -10,6 +10,8 @@ //control the fadein // + + void chainImageSet::drawOutput(){ float camera_throw= (float)outputSize.y/(float)outputSize.x; //the ratio of z distance to x width @@ -66,7 +68,7 @@ void chainImageSet::drawOutput(){ - (*currentImage)->drawChain(DEFAULT_FADEIN,additive,intensity,zoomMultiplier,startGamma); + (*currentImage)->drawChain(DEFAULT_FADEIN,additive,alpha,intensity,zoomMultiplier,startGamma); } diff --git a/gui/src/chainImageSet.h b/gui/src/chainImageSet.h index 4a13c74..f64d5c4 100644 --- a/gui/src/chainImageSet.h +++ b/gui/src/chainImageSet.h @@ -24,6 +24,7 @@ class chainImageSet{ dragPoint=ofPoint(0,0); zoomMultiplier=1.0f; startGamma=1.0f; + alpha=false; } chainImageSet(const chainImageSet& mom){ chainImageSet(); @@ -72,6 +73,7 @@ class chainImageSet{ float decayFactor; bool additive; + bool alpha; float intensity; std::vector <std::unique_ptr<chainImage> > loadingImages; diff --git a/gui/src/ofApp.cpp b/gui/src/ofApp.cpp index 5c148be..feb3893 100644 --- a/gui/src/ofApp.cpp +++ b/gui/src/ofApp.cpp @@ -1,4 +1,4 @@ -#include "ofApp.h" + #include "ofApp.h" #include "glew.h" @@ -366,10 +366,22 @@ void ofApp::keyPressed(ofKeyEventArgs &args){ ofSetFullscreen(outputFS); } if(args.key == 'a'){ - bool add=!sets[0].additive;; + int which=int(sets[0].additive)+(int(sets[0].alpha)*2); + bool add=false; + bool alpha=false; + switch(which){ + case 0: + add=true; + break; + case 1: + alpha=true; + break; + } sets[0].additive=add; sets[1].additive=add; - printf("Additive: %s \n",add?"true":"false"); + sets[0].alpha=alpha; + sets[1].alpha=alpha; + printf("Additive: %s Alpha: %s\n",add?"true":"false",alpha?"true":"false"); } if(args.key >='1' && args.key <= '9'){ //sets[0].decayFactor = 1.0f + ( |
