Added HUD with UI sliders

This commit is contained in:
James Alliban 2014-01-07 17:11:46 +00:00
parent 721d59e5f7
commit 33298f7bcb
8 changed files with 104 additions and 80 deletions

View File

@ -1,47 +1,7 @@
<Widget>
<Kind>4</Kind>
<Name>Start red</Name>
<Value>74.654602051</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>Start green</Name>
<Value>74.654602051</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>Start blue</Name>
<Value>78.009864807</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>Start alpha</Name>
<Value>255.000000000</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>End red</Name>
<Value>12.582237244</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>End green</Name>
<Value>13.421052933</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>End blue</Name>
<Value>13.421052933</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>End alpha</Name>
<Value>255.000000000</Value>
</Widget>
<Widget> <Widget>
<Kind>4</Kind> <Kind>4</Kind>
<Name>Brightness</Name> <Name>Brightness</Name>
<Value>0.980263174</Value> <Value>0.921052635</Value>
</Widget> </Widget>
<Widget> <Widget>
<Kind>4</Kind> <Kind>4</Kind>
@ -73,3 +33,38 @@
<Name>Alpha</Name> <Name>Alpha</Name>
<Value>1.000000000</Value> <Value>1.000000000</Value>
</Widget> </Widget>
<Widget>
<Kind>4</Kind>
<Name>Red .</Name>
<Value>40.263156891</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>Green .</Name>
<Value>40.263156891</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>Blue .</Name>
<Value>39.424343109</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>Alpha .</Name>
<Value>255.000000000</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>Radius Width</Name>
<Value>829.532897949</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>Radius Height</Name>
<Value>612.536193848</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>Circle Point Size</Name>
<Value>52.302627563</Value>
</Widget>

View File

@ -6,45 +6,45 @@
<Widget> <Widget>
<Kind>4</Kind> <Kind>4</Kind>
<Name>BarWidth</Name> <Name>BarWidth</Name>
<Value>9.736842155</Value> <Value>17.000000000</Value>
</Widget> </Widget>
<Widget> <Widget>
<Kind>4</Kind> <Kind>4</Kind>
<Name>Data0 red</Name> <Name>Data0 red</Name>
<Value>190.411193848</Value> <Value>196.282897949</Value>
</Widget> </Widget>
<Widget> <Widget>
<Kind>4</Kind> <Kind>4</Kind>
<Name>Data0 green</Name> <Name>Data0 green</Name>
<Value>141.759872437</Value> <Value>21.809211731</Value>
</Widget> </Widget>
<Widget> <Widget>
<Kind>4</Kind> <Kind>4</Kind>
<Name>Data0 blue</Name> <Name>Data0 blue</Name>
<Value>0.000000000</Value> <Value>67.944076538</Value>
</Widget> </Widget>
<Widget> <Widget>
<Kind>4</Kind> <Kind>4</Kind>
<Name>Data0 alpha</Name> <Name>Data0 alpha</Name>
<Value>255.000000000</Value> <Value>158.536193848</Value>
</Widget> </Widget>
<Widget> <Widget>
<Kind>4</Kind> <Kind>4</Kind>
<Name>Data1 red</Name> <Name>Data1 red</Name>
<Value>43.618423462</Value> <Value>208.026306152</Value>
</Widget> </Widget>
<Widget> <Widget>
<Kind>4</Kind> <Kind>4</Kind>
<Name>Data1 green</Name> <Name>Data1 green</Name>
<Value>68.782897949</Value> <Value>196.282897949</Value>
</Widget> </Widget>
<Widget> <Widget>
<Kind>4</Kind> <Kind>4</Kind>
<Name>Data1 blue</Name> <Name>Data1 blue</Name>
<Value>163.569076538</Value> <Value>18.453947067</Value>
</Widget> </Widget>
<Widget> <Widget>
<Kind>4</Kind> <Kind>4</Kind>
<Name>Data1 alpha</Name> <Name>Data1 alpha</Name>
<Value>255.000000000</Value> <Value>209.703948975</Value>
</Widget> </Widget>

View File

@ -97,19 +97,7 @@ void GUI::addBackgroundGUI()
string title = "BACKGROUND"; string title = "BACKGROUND";
ofxUICanvas* gui = getNewGUI(title); ofxUICanvas* gui = getNewGUI(title);
gui->addLabel("GRADIENT COLOUR"); gui->addLabel("VIDEO IMAGE SETTINGS");
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->addSlider("Brightness", 0, 2, &app->scene.brightness, length, dim); gui->addSlider("Brightness", 0, 2, &app->scene.brightness, length, dim);
gui->addSlider("Contrast", 0, 2, &app->scene.contrast, length, dim); gui->addSlider("Contrast", 0, 2, &app->scene.contrast, length, dim);
gui->addSlider("Saturation", 0, 2, &app->scene.saturation, 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("Green", 0, 2, &app->scene.green, length, dim);
gui->addSlider("Blue", 0, 2, &app->scene.blue, length, dim); gui->addSlider("Blue", 0, 2, &app->scene.blue, length, dim);
gui->addSlider("Alpha", 0, 2, &app->scene.alpha, 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); ofAddListener(gui->newGUIEvent, this, &GUI::variousGUIEvent);
finaliseCanvas(gui, true); finaliseCanvas(gui, true);
} }

View File

@ -50,7 +50,8 @@ void testApp::update()
} }
//-------------------------------------------------------------- //--------------------------------------------------------------
void testApp::draw(){ void testApp::draw()
{
dataManager.draw(); dataManager.draw();
scene.draw(); scene.draw();
} }
@ -69,4 +70,9 @@ void testApp::keyPressed(int key)
isPaused = !isPaused; isPaused = !isPaused;
else if (key == 'f') else if (key == 'f')
ofToggleFullscreen(); ofToggleFullscreen();
}
void testApp::windowResized(int w, int h)
{
} }

View File

@ -14,6 +14,7 @@ class testApp : public ofBaseApp{
void draw(); void draw();
void mousePressed(int x, int y, int button); void mousePressed(int x, int y, int button);
void keyPressed(int key); void keyPressed(int key);
void windowResized(int w, int h);
DataManager dataManager; DataManager dataManager;
Scene scene; Scene scene;

View File

@ -25,11 +25,13 @@ void Scene::update()
void Scene::draw() void Scene::draw()
{ {
ofBackgroundGradient(ofColor(bgGradStartCol[0], bgGradStartCol[1], bgGradStartCol[2], bgGradStartCol[3]), drawVideo();
ofColor(bgGradEndCol[0], bgGradEndCol[1], bgGradEndCol[2], bgGradEndCol[3]), barGraph.draw();
OF_GRADIENT_CIRCULAR); drawHUD();
}
void Scene::drawVideo()
{
rgbShader.begin(); rgbShader.begin();
rgbShader.setUniform1f("brightness", brightness); rgbShader.setUniform1f("brightness", brightness);
@ -39,13 +41,34 @@ void Scene::draw()
rgbShader.setUniform1f("green", green); rgbShader.setUniform1f("green", green);
rgbShader.setUniform1f("blue", blue); rgbShader.setUniform1f("blue", blue);
rgbShader.setUniform1f("alpha", alpha); rgbShader.setUniform1f("alpha", alpha);
bgImg.draw(0, 0, ofGetWidth(), ofGetHeight());
rgbShader.end();
bgImg.draw(0, 0, ofGetWidth(), ofGetHeight());
barGraph.draw();
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();
}

View File

@ -19,14 +19,17 @@ public:
void setup(); void setup();
void update(); void update();
void draw(); void draw();
void drawVideo();
void drawHUD();
BarGraph barGraph; BarGraph barGraph;
ofShader rgbShader; ofShader rgbShader;
ofImage bgImg; ofImage bgImg;
float brightness, contrast, saturation, red, green, blue, alpha; float brightness, contrast, saturation, red, green, blue, alpha;
float bgGradStartCol[4]; float hudColour[4];
float bgGradEndCol[4]; float circlePointSize;
float radiusW;
float radiusH;
}; };