diff options
| author | Tim Redfern <tim@getdrop.com> | 2017-12-12 08:18:19 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@getdrop.com> | 2017-12-12 08:18:19 +0000 |
| commit | b81a1e4b77ad82315b84dd5eb1a76d80a544bcdd (patch) | |
| tree | 46eead66842d99dafcf5e2cb90972438bcf254ba | |
| parent | 633aee47fb7392b807e00e1827fad605fb68642b (diff) | |
menubar is no problem
| -rw-r--r-- | gui/.DS_Store | bin | 8196 -> 8196 bytes | |||
| -rw-r--r-- | gui/src/chainImage.cpp | 47 | ||||
| -rw-r--r-- | gui/src/chainImage.h | 6 | ||||
| -rw-r--r-- | gui/src/chainImageSet.cpp | 10 | ||||
| -rw-r--r-- | gui/src/main.cpp | 6 |
5 files changed, 64 insertions, 5 deletions
diff --git a/gui/.DS_Store b/gui/.DS_Store Binary files differindex db06893..c2c9288 100644 --- a/gui/.DS_Store +++ b/gui/.DS_Store diff --git a/gui/src/chainImage.cpp b/gui/src/chainImage.cpp index 3db0e7d..1f130ae 100644 --- a/gui/src/chainImage.cpp +++ b/gui/src/chainImage.cpp @@ -8,9 +8,9 @@ float distance(ofPoint p1,ofPoint p2){ } void chainImage::init(ofPoint _linkPos,float _linkScale,float _linkRot){ -#ifdef GPU_ALGORITHM +//#ifdef GPU_ALGORITHM shader.load("shader"); -#endif //GPU_ALGORITHM +//#endif //GPU_ALGORITHM linkPos=_linkPos; linkScale=_linkScale; @@ -38,6 +38,49 @@ void chainImage::start(bool reverse){ */ } +void chainImage::gpu_drawImage(){ + + GLint internalTextureFormat=GL_TEXTURE_2D_ARRAY; + GLsizei textureWidth=getWidth(); + GLsizei textureHeight=getHeight(); + GLsizei numberOfTextures=2; + GLint border=0; + GLenum textureFormat=GL_RGB; + glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, internalTextureFormat, textureWidth, textureHeight, numberOfTextures, 0, textureFormat, GL_UNSIGNED_BYTE, NULL); + +//bind the texture (using GL_TEXTURE_2D_ARRAY as the texture type) and use glTexParameteri as usual + chainImage *thisimage; +//iterate through the images to put into your texture array + for (int i=0;i<numberOfTextures;i++){ + thisimage=thisimage->link; + + glTexSubImage3D(GL_TEXTURE_2D_ARRAY, 0, 0, 0, i, thisimage->width, thisimage->height, 1, textureFormat, GL_UNSIGNED_BYTE, &thisimage->getPixels()); + + } + /* + //composite the frame and set the next getTransform + ofSetColor(255); + + float basescale=ofGetScreenWidth()/ofGetWidth(); + + shader.begin(); + shader.setUniform3f("transform",getTransform()); + shader.setUniform1f("scale",1.0f); + //shader.setUniform1f("rotation",getRotation()); + //shader.setUniform1f("transition",transition); + //shader.setUniform1f("fadeIn",fadeIn); + //shader.setUniform1f("intensity",intensity); + //shader.setUniform3f("linkPos",linkPos); + shader.setUniformTexture("thisImage", getTexture(), 1 ); + shader.setUniformTexture("nextImage", link->getTexture(), 2 ); + + //draw(0, 0,ofGetWidth(),ofGetHeight()); + ofDrawRectangle(0, 0, ofGetScreenWidth(), ofGetScreenHeight()); + + shader.end(); + */ +} + void chainImage::updateRotationTimeline(){ rotationTimeline.clear(); diff --git a/gui/src/chainImage.h b/gui/src/chainImage.h index 4e3d58e..1dbb808 100644 --- a/gui/src/chainImage.h +++ b/gui/src/chainImage.h @@ -16,8 +16,11 @@ //#define GPU_ALGORITHM +//so annoying 1: menubar +//so annoying 2: dialogue stops screen + + class chainImage : public ofImage{ - //todo: threaded image loader public: chainImage(){ @@ -58,6 +61,7 @@ class chainImage : public ofImage{ void drawChain(float fadeIn=DEFAULT_FADEIN,bool additive =false, float intensity=1.0f, float zoomMultiplier=1.0f); void gpu_drawChain(float fadeIn=DEFAULT_FADEIN,bool additive =false, float intensity=1.0f, float zoomMultiplier=1.0f); + void gpu_drawImage(); ofImage thumbnail; void makeThumbnail(); diff --git a/gui/src/chainImageSet.cpp b/gui/src/chainImageSet.cpp index 1036e4a..751b1ba 100644 --- a/gui/src/chainImageSet.cpp +++ b/gui/src/chainImageSet.cpp @@ -58,6 +58,16 @@ void chainImageSet::drawGpu(){ if (images.size()){ (*currentImage)->gpu_drawChain(DEFAULT_FADEIN,additive,intensity,zoomMultiplier); } +/* + int current; + bool visible=true; + for (int i=0;i<images.size();i++){ + while (visible){ + //each image draws itself then applies the transform for the next + visible=vecimages[(current+i)%vecimages.size()].gpu_drawImage(); + } + } + */ } diff --git a/gui/src/main.cpp b/gui/src/main.cpp index 391b99f..3e4c327 100644 --- a/gui/src/main.cpp +++ b/gui/src/main.cpp @@ -28,12 +28,14 @@ int main(int argc, char *argv[]){ settings.width = 1024; settings.height = 576; - settings.setPosition(ofVec2f(300,0)); + settings.setPosition(ofVec2f(1700,0)); settings.resizable = true; + //settings.decorated = false; //doesn't suppress FS title bar shared_ptr<ofAppBaseWindow> mainWindow = ofCreateWindow(settings); - // uncomment next line to share main's OpenGL resources with gui + // share OpenGL resources with other windows settings.shareContextWith = mainWindow; + settings.decorated = true; settings.width = 800; settings.height = 450; |
