From 33298f7bcb742c23ae3634e8af581e27b7c6c6ae Mon Sep 17 00:00:00 2001 From: James Alliban Date: Tue, 7 Jan 2014 17:11:46 +0000 Subject: [PATCH] Added HUD with UI sliders --- of/Active Tripod/bin/Active_Tripod.lib | Bin 78700 -> 78700 bytes .../data/GUI/BACKGROUNDguiPagesettings.xml | 77 ++++++++---------- .../GUI/BAR GRAPH DESIGNguiPagesettings.xml | 18 ++-- of/Active Tripod/src/gui/GUI.cpp | 24 +++--- of/Active Tripod/src/testApp.cpp | 8 +- of/Active Tripod/src/testApp.h | 1 + of/Active Tripod/src/visual/Scene.cpp | 45 +++++++--- of/Active Tripod/src/visual/Scene.h | 11 ++- 8 files changed, 104 insertions(+), 80 deletions(-) diff --git a/of/Active Tripod/bin/Active_Tripod.lib b/of/Active Tripod/bin/Active_Tripod.lib index 96b5032f1b99fc3b9a2f7e930bafe8cb60f66005..aca47319bc5a10f3a587ccb59de6a17cceb03e0d 100644 GIT binary patch delta 6548 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 Kocl{z#eV_fR^~JS diff --git a/of/Active Tripod/bin/data/GUI/BACKGROUNDguiPagesettings.xml b/of/Active Tripod/bin/data/GUI/BACKGROUNDguiPagesettings.xml index 8ea72a0..44e7a76 100644 --- a/of/Active Tripod/bin/data/GUI/BACKGROUNDguiPagesettings.xml +++ b/of/Active Tripod/bin/data/GUI/BACKGROUNDguiPagesettings.xml @@ -1,47 +1,7 @@ - - 4 - Start red - 74.654602051 - - - 4 - Start green - 74.654602051 - - - 4 - Start blue - 78.009864807 - - - 4 - Start alpha - 255.000000000 - - - 4 - End red - 12.582237244 - - - 4 - End green - 13.421052933 - - - 4 - End blue - 13.421052933 - - - 4 - End alpha - 255.000000000 - 4 Brightness - 0.980263174 + 0.921052635 4 @@ -73,3 +33,38 @@ Alpha 1.000000000 + + 4 + Red . + 40.263156891 + + + 4 + Green . + 40.263156891 + + + 4 + Blue . + 39.424343109 + + + 4 + Alpha . + 255.000000000 + + + 4 + Radius Width + 829.532897949 + + + 4 + Radius Height + 612.536193848 + + + 4 + Circle Point Size + 52.302627563 + diff --git a/of/Active Tripod/bin/data/GUI/BAR GRAPH DESIGNguiPagesettings.xml b/of/Active Tripod/bin/data/GUI/BAR GRAPH DESIGNguiPagesettings.xml index 4c3d327..147344a 100644 --- a/of/Active Tripod/bin/data/GUI/BAR GRAPH DESIGNguiPagesettings.xml +++ b/of/Active Tripod/bin/data/GUI/BAR GRAPH DESIGNguiPagesettings.xml @@ -6,45 +6,45 @@ 4 BarWidth - 9.736842155 + 17.000000000 4 Data0 red - 190.411193848 + 196.282897949 4 Data0 green - 141.759872437 + 21.809211731 4 Data0 blue - 0.000000000 + 67.944076538 4 Data0 alpha - 255.000000000 + 158.536193848 4 Data1 red - 43.618423462 + 208.026306152 4 Data1 green - 68.782897949 + 196.282897949 4 Data1 blue - 163.569076538 + 18.453947067 4 Data1 alpha - 255.000000000 + 209.703948975 diff --git a/of/Active Tripod/src/gui/GUI.cpp b/of/Active Tripod/src/gui/GUI.cpp index 70e4393..201bb4d 100644 --- a/of/Active Tripod/src/gui/GUI.cpp +++ b/of/Active Tripod/src/gui/GUI.cpp @@ -97,19 +97,7 @@ void GUI::addBackgroundGUI() string title = "BACKGROUND"; ofxUICanvas* gui = getNewGUI(title); - gui->addLabel("GRADIENT COLOUR"); - gui->addSpacer(length, 1); - gui->addSlider("Start red", 0, 255, &app->scene.bgGradStartCol[0], length, dim); - gui->addSlider("Start green", 0, 255, &app->scene.bgGradStartCol[1], length, dim); - gui->addSlider("Start blue", 0, 255, &app->scene.bgGradStartCol[2], length, dim); - gui->addSlider("Start alpha", 0, 255, &app->scene.bgGradStartCol[3], length, dim); - gui->addSpacer(length, 1); - gui->addSlider("End red", 0, 255, &app->scene.bgGradEndCol[0], length, dim); - gui->addSlider("End green", 0, 255, &app->scene.bgGradEndCol[1], length, dim); - gui->addSlider("End blue", 0, 255, &app->scene.bgGradEndCol[2], length, dim); - gui->addSlider("End alpha", 0, 255, &app->scene.bgGradEndCol[3], length, dim); - gui->addSpacer(length, 1); - gui->addLabel("BACKGROUND IMAGE"); + gui->addLabel("VIDEO IMAGE SETTINGS"); gui->addSlider("Brightness", 0, 2, &app->scene.brightness, length, dim); gui->addSlider("Contrast", 0, 2, &app->scene.contrast, length, dim); gui->addSlider("Saturation", 0, 2, &app->scene.saturation, length, dim); @@ -117,8 +105,16 @@ void GUI::addBackgroundGUI() gui->addSlider("Green", 0, 2, &app->scene.green, length, dim); gui->addSlider("Blue", 0, 2, &app->scene.blue, length, dim); gui->addSlider("Alpha", 0, 2, &app->scene.alpha, length, dim); + gui->addSpacer(length, 1); + gui->addLabel("HUD SETTINGS"); + gui->addSlider("Red .", 0, 255, &app->scene.hudColour[0], length, dim); + gui->addSlider("Green .", 0, 255, &app->scene.hudColour[1], length, dim); + gui->addSlider("Blue .", 0, 255, &app->scene.hudColour[2], length, dim); + gui->addSlider("Alpha .", 0, 255, &app->scene.hudColour[3], length, dim); + gui->addSlider("Radius Width", 1, 2000, &app->scene.radiusW, length, dim); + gui->addSlider("Radius Height", 1, 2000, &app->scene.radiusH, length, dim); + gui->addSlider("Circle Point Size", 0, 100, &app->scene.circlePointSize, length, dim); - ofAddListener(gui->newGUIEvent, this, &GUI::variousGUIEvent); finaliseCanvas(gui, true); } diff --git a/of/Active Tripod/src/testApp.cpp b/of/Active Tripod/src/testApp.cpp index 106e5e1..0c5bc28 100644 --- a/of/Active Tripod/src/testApp.cpp +++ b/of/Active Tripod/src/testApp.cpp @@ -50,7 +50,8 @@ void testApp::update() } //-------------------------------------------------------------- -void testApp::draw(){ +void testApp::draw() +{ dataManager.draw(); scene.draw(); } @@ -69,4 +70,9 @@ void testApp::keyPressed(int key) isPaused = !isPaused; else if (key == 'f') ofToggleFullscreen(); +} + + +void testApp::windowResized(int w, int h) +{ } \ No newline at end of file diff --git a/of/Active Tripod/src/testApp.h b/of/Active Tripod/src/testApp.h index 1f5652b..0d56f58 100644 --- a/of/Active Tripod/src/testApp.h +++ b/of/Active Tripod/src/testApp.h @@ -14,6 +14,7 @@ class testApp : public ofBaseApp{ void draw(); void mousePressed(int x, int y, int button); void keyPressed(int key); + void windowResized(int w, int h); DataManager dataManager; Scene scene; diff --git a/of/Active Tripod/src/visual/Scene.cpp b/of/Active Tripod/src/visual/Scene.cpp index 5db9c3a..17d4da3 100644 --- a/of/Active Tripod/src/visual/Scene.cpp +++ b/of/Active Tripod/src/visual/Scene.cpp @@ -25,11 +25,13 @@ void Scene::update() void Scene::draw() { - ofBackgroundGradient(ofColor(bgGradStartCol[0], bgGradStartCol[1], bgGradStartCol[2], bgGradStartCol[3]), - ofColor(bgGradEndCol[0], bgGradEndCol[1], bgGradEndCol[2], bgGradEndCol[3]), - OF_GRADIENT_CIRCULAR); - + drawVideo(); + barGraph.draw(); + drawHUD(); +} +void Scene::drawVideo() +{ rgbShader.begin(); rgbShader.setUniform1f("brightness", brightness); @@ -39,13 +41,34 @@ void Scene::draw() rgbShader.setUniform1f("green", green); rgbShader.setUniform1f("blue", blue); rgbShader.setUniform1f("alpha", alpha); - - bgImg.draw(0, 0, ofGetWidth(), ofGetHeight()); - - rgbShader.end(); - - - barGraph.draw(); + bgImg.draw(0, 0, ofGetWidth(), ofGetHeight()); + + rgbShader.end(); } +void Scene::drawHUD() +{ + ofPushStyle(); + ofSetColor(hudColour[0], hudColour[1], hudColour[2], hudColour[3]); + ofBeginShape(); + + ofVertex(0, 0); + ofVertex(ofGetWidth(), 0); + ofVertex(ofGetWidth(), ofGetHeight()); + ofVertex(0, ofGetHeight()); + + ofNextContour(true); + + for (int i = 0; i < (int)circlePointSize; i++) + { + float x = (ofGetWidth() * 0.5) + cos(((float)i / (int)circlePointSize) * TWO_PI) * radiusW; + float y = (ofGetHeight() * 0.5) + sin(((float)i / (int)circlePointSize) * TWO_PI) * radiusH; + ofVertex(x, y); + } + + ofEndShape(true); + ofPopStyle(); + + ofFill(); +} \ No newline at end of file diff --git a/of/Active Tripod/src/visual/Scene.h b/of/Active Tripod/src/visual/Scene.h index 6ec29fd..1b31b52 100644 --- a/of/Active Tripod/src/visual/Scene.h +++ b/of/Active Tripod/src/visual/Scene.h @@ -19,14 +19,17 @@ public: void setup(); void update(); void draw(); + void drawVideo(); + void drawHUD(); BarGraph barGraph; ofShader rgbShader; ofImage bgImg; - + float brightness, contrast, saturation, red, green, blue, alpha; - float bgGradStartCol[4]; - float bgGradEndCol[4]; - + float hudColour[4]; + float circlePointSize; + float radiusW; + float radiusH; }; \ No newline at end of file