Added image background with adjustment sliders
- Brightness/contrast/saturation and RGBA sliders added - Fullscreen functionality added
This commit is contained in:
parent
3053981175
commit
721d59e5f7
Binary file not shown.
@ -38,3 +38,38 @@
|
|||||||
<Name>End alpha</Name>
|
<Name>End alpha</Name>
|
||||||
<Value>255.000000000</Value>
|
<Value>255.000000000</Value>
|
||||||
</Widget>
|
</Widget>
|
||||||
|
<Widget>
|
||||||
|
<Kind>4</Kind>
|
||||||
|
<Name>Brightness</Name>
|
||||||
|
<Value>0.980263174</Value>
|
||||||
|
</Widget>
|
||||||
|
<Widget>
|
||||||
|
<Kind>4</Kind>
|
||||||
|
<Name>Contrast</Name>
|
||||||
|
<Value>0.986842096</Value>
|
||||||
|
</Widget>
|
||||||
|
<Widget>
|
||||||
|
<Kind>4</Kind>
|
||||||
|
<Name>Saturation</Name>
|
||||||
|
<Value>0.967105269</Value>
|
||||||
|
</Widget>
|
||||||
|
<Widget>
|
||||||
|
<Kind>4</Kind>
|
||||||
|
<Name>Red</Name>
|
||||||
|
<Value>0.684210539</Value>
|
||||||
|
</Widget>
|
||||||
|
<Widget>
|
||||||
|
<Kind>4</Kind>
|
||||||
|
<Name>Green</Name>
|
||||||
|
<Value>0.947368443</Value>
|
||||||
|
</Widget>
|
||||||
|
<Widget>
|
||||||
|
<Kind>4</Kind>
|
||||||
|
<Name>Blue</Name>
|
||||||
|
<Value>0.644736826</Value>
|
||||||
|
</Widget>
|
||||||
|
<Widget>
|
||||||
|
<Kind>4</Kind>
|
||||||
|
<Name>Alpha</Name>
|
||||||
|
<Value>1.000000000</Value>
|
||||||
|
</Widget>
|
||||||
|
|||||||
@ -1,20 +1,20 @@
|
|||||||
<Widget>
|
<Widget>
|
||||||
<Kind>4</Kind>
|
<Kind>4</Kind>
|
||||||
<Name>RED</Name>
|
<Name>RED</Name>
|
||||||
<Value>68.782897949</Value>
|
<Value>19.292762756</Value>
|
||||||
</Widget>
|
</Widget>
|
||||||
<Widget>
|
<Widget>
|
||||||
<Kind>4</Kind>
|
<Kind>4</Kind>
|
||||||
<Name>GREEN</Name>
|
<Name>GREEN</Name>
|
||||||
<Value>67.944076538</Value>
|
<Value>21.809211731</Value>
|
||||||
</Widget>
|
</Widget>
|
||||||
<Widget>
|
<Widget>
|
||||||
<Kind>4</Kind>
|
<Kind>4</Kind>
|
||||||
<Name>BLUE</Name>
|
<Name>BLUE</Name>
|
||||||
<Value>104.013153076</Value>
|
<Value>21.809211731</Value>
|
||||||
</Widget>
|
</Widget>
|
||||||
<Widget>
|
<Widget>
|
||||||
<Kind>4</Kind>
|
<Kind>4</Kind>
|
||||||
<Name>ALPHA</Name>
|
<Name>ALPHA</Name>
|
||||||
<Value>200.476974487</Value>
|
<Value>139.243423462</Value>
|
||||||
</Widget>
|
</Widget>
|
||||||
|
|||||||
BIN
of/Active Tripod/bin/data/images/basement.png
Normal file
BIN
of/Active Tripod/bin/data/images/basement.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.6 MiB |
BIN
of/Active Tripod/bin/data/images/dino.jpeg
Normal file
BIN
of/Active Tripod/bin/data/images/dino.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 760 KiB |
BIN
of/Active Tripod/bin/data/images/tanks.jpg
Normal file
BIN
of/Active Tripod/bin/data/images/tanks.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.8 MiB |
57
of/Active Tripod/bin/data/shaders/RGBShader.frag
Normal file
57
of/Active Tripod/bin/data/shaders/RGBShader.frag
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
|
||||||
|
#extension GL_ARB_texture_rectangle : enable
|
||||||
|
|
||||||
|
uniform sampler2DRect baseMap;
|
||||||
|
|
||||||
|
uniform float brightness;
|
||||||
|
uniform float contrast;
|
||||||
|
uniform float saturation;
|
||||||
|
uniform float alpha;
|
||||||
|
uniform float red;
|
||||||
|
uniform float green;
|
||||||
|
uniform float blue;
|
||||||
|
uniform float shadowIntensity;
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
// Extract colors from baseMap
|
||||||
|
vec4 baseColor = texture2DRect( baseMap, gl_TexCoord[0].st );
|
||||||
|
|
||||||
|
vec3 baseColor3 = baseColor.rgb;
|
||||||
|
|
||||||
|
|
||||||
|
// Brightness, contrast and saturation
|
||||||
|
const float AvgLumR = 0.5;
|
||||||
|
const float AvgLumG = 0.5;
|
||||||
|
const float AvgLumB = 0.5;
|
||||||
|
const vec3 LumCoeff = vec3(0.2125, 0.7154, 0.0721);
|
||||||
|
vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB);
|
||||||
|
vec3 brtColor = baseColor3 * brightness;
|
||||||
|
vec3 intensity = vec3(dot(brtColor, LumCoeff));
|
||||||
|
vec3 satColor = mix(intensity, brtColor, saturation);
|
||||||
|
vec3 conColor = mix(AvgLumin, satColor, contrast);
|
||||||
|
|
||||||
|
baseColor.rgb = conColor;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// colour, alpha, lighting
|
||||||
|
//vec3 normal = normalize( v_normal );
|
||||||
|
vec3 colourVec = vec3(red, green, blue);
|
||||||
|
baseColor.rgb *= colourVec;
|
||||||
|
//float ndotl = max(dot(normal, v_light_dir), shadowIntensity);
|
||||||
|
//baseColor.rgb *= ndotl;
|
||||||
|
//baseColor.a = alpha;
|
||||||
|
|
||||||
|
|
||||||
|
vec4 result = clamp(baseColor, 0.0, 1.0);
|
||||||
|
|
||||||
|
//result.r += v_colour.r;
|
||||||
|
//result.g = 1.0;
|
||||||
|
//result += v_colour;
|
||||||
|
//result.a = v_colour.a;
|
||||||
|
|
||||||
|
gl_FragColor = result;
|
||||||
|
|
||||||
|
}
|
||||||
8
of/Active Tripod/bin/data/shaders/RGBShader.vert
Normal file
8
of/Active Tripod/bin/data/shaders/RGBShader.vert
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||||
|
gl_Position = ftransform();
|
||||||
|
}
|
||||||
@ -17,7 +17,7 @@ void GUI::setup()
|
|||||||
dim = 8;
|
dim = 8;
|
||||||
|
|
||||||
addKeyboardShortcutsGUI();
|
addKeyboardShortcutsGUI();
|
||||||
addGraphAnimationGUI();
|
//addGraphAnimationGUI();
|
||||||
addBarGraphDesignGUI();
|
addBarGraphDesignGUI();
|
||||||
addGraphSimulationGUI();
|
addGraphSimulationGUI();
|
||||||
addBackgroundGUI();
|
addBackgroundGUI();
|
||||||
@ -40,6 +40,8 @@ void GUI::addKeyboardShortcutsGUI()
|
|||||||
gui->addLabel("SPACE - SHOW/HIDE GUI", OFX_UI_FONT_SMALL);
|
gui->addLabel("SPACE - SHOW/HIDE GUI", OFX_UI_FONT_SMALL);
|
||||||
gui->addLabel("'[' - PREVIOUS GUI", OFX_UI_FONT_SMALL);
|
gui->addLabel("'[' - PREVIOUS GUI", OFX_UI_FONT_SMALL);
|
||||||
gui->addLabel("']' - NEXT GUI", OFX_UI_FONT_SMALL);
|
gui->addLabel("']' - NEXT GUI", OFX_UI_FONT_SMALL);
|
||||||
|
gui->addLabel("'p' - TOGGLE PAUSE ANIMATION", OFX_UI_FONT_SMALL);
|
||||||
|
gui->addLabel("'f' - TOGGLE FULLSCREEN", OFX_UI_FONT_SMALL);
|
||||||
|
|
||||||
|
|
||||||
finaliseCanvas(gui, true);
|
finaliseCanvas(gui, true);
|
||||||
@ -96,14 +98,26 @@ void GUI::addBackgroundGUI()
|
|||||||
ofxUICanvas* gui = getNewGUI(title);
|
ofxUICanvas* gui = getNewGUI(title);
|
||||||
|
|
||||||
gui->addLabel("GRADIENT COLOUR");
|
gui->addLabel("GRADIENT COLOUR");
|
||||||
|
gui->addSpacer(length, 1);
|
||||||
gui->addSlider("Start red", 0, 255, &app->scene.bgGradStartCol[0], length, dim);
|
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 green", 0, 255, &app->scene.bgGradStartCol[1], length, dim);
|
||||||
gui->addSlider("Start blue", 0, 255, &app->scene.bgGradStartCol[2], 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->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 red", 0, 255, &app->scene.bgGradEndCol[0], length, dim);
|
||||||
gui->addSlider("End green", 0, 255, &app->scene.bgGradEndCol[1], 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 blue", 0, 255, &app->scene.bgGradEndCol[2], length, dim);
|
||||||
gui->addSlider("End alpha", 0, 255, &app->scene.bgGradEndCol[3], 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("Contrast", 0, 2, &app->scene.contrast, length, dim);
|
||||||
|
gui->addSlider("Saturation", 0, 2, &app->scene.saturation, length, dim);
|
||||||
|
gui->addSlider("Red", 0, 2, &app->scene.red, length, dim);
|
||||||
|
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);
|
||||||
|
|
||||||
|
|
||||||
ofAddListener(gui->newGUIEvent, this, &GUI::variousGUIEvent);
|
ofAddListener(gui->newGUIEvent, this, &GUI::variousGUIEvent);
|
||||||
finaliseCanvas(gui, true);
|
finaliseCanvas(gui, true);
|
||||||
|
|||||||
@ -3,11 +3,10 @@
|
|||||||
// TODO
|
// TODO
|
||||||
// ====
|
// ====
|
||||||
// - Make graph system with 3 simple (for now) but different graphs that can be interchanged
|
// - Make graph system with 3 simple (for now) but different graphs that can be interchanged
|
||||||
// - Make events system to send data to scene
|
// - Add image to background and create a mask
|
||||||
|
// - Use a shader to adjust image brightness/contrast and colour
|
||||||
// -
|
// -
|
||||||
// -
|
// - Add to config
|
||||||
// - Add to GUI
|
|
||||||
// - - Publisher choice
|
|
||||||
// - - IP address
|
// - - IP address
|
||||||
// - - Host name
|
// - - Host name
|
||||||
// - - App name
|
// - - App name
|
||||||
@ -67,7 +66,7 @@ void testApp::mousePressed(int x, int y, int button)
|
|||||||
void testApp::keyPressed(int key)
|
void testApp::keyPressed(int key)
|
||||||
{
|
{
|
||||||
if (key == 'p')
|
if (key == 'p')
|
||||||
{
|
|
||||||
isPaused = !isPaused;
|
isPaused = !isPaused;
|
||||||
}
|
else if (key == 'f')
|
||||||
|
ofToggleFullscreen();
|
||||||
}
|
}
|
||||||
@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
void Scene::setup()
|
void Scene::setup()
|
||||||
{
|
{
|
||||||
|
bgImg.loadImage("images/tanks.jpg");
|
||||||
|
rgbShader.load("shaders/RGBShader");
|
||||||
barGraph.setup();
|
barGraph.setup();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27,6 +29,23 @@ void Scene::draw()
|
|||||||
ofColor(bgGradEndCol[0], bgGradEndCol[1], bgGradEndCol[2], bgGradEndCol[3]),
|
ofColor(bgGradEndCol[0], bgGradEndCol[1], bgGradEndCol[2], bgGradEndCol[3]),
|
||||||
OF_GRADIENT_CIRCULAR);
|
OF_GRADIENT_CIRCULAR);
|
||||||
|
|
||||||
|
|
||||||
|
rgbShader.begin();
|
||||||
|
|
||||||
|
rgbShader.setUniform1f("brightness", brightness);
|
||||||
|
rgbShader.setUniform1f("contrast", contrast);
|
||||||
|
rgbShader.setUniform1f("saturation", saturation);
|
||||||
|
rgbShader.setUniform1f("red", red);
|
||||||
|
rgbShader.setUniform1f("green", green);
|
||||||
|
rgbShader.setUniform1f("blue", blue);
|
||||||
|
rgbShader.setUniform1f("alpha", alpha);
|
||||||
|
|
||||||
|
bgImg.draw(0, 0, ofGetWidth(), ofGetHeight());
|
||||||
|
|
||||||
|
rgbShader.end();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
barGraph.draw();
|
barGraph.draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -21,6 +21,10 @@ public:
|
|||||||
void draw();
|
void draw();
|
||||||
|
|
||||||
BarGraph barGraph;
|
BarGraph barGraph;
|
||||||
|
ofShader rgbShader;
|
||||||
|
ofImage bgImg;
|
||||||
|
|
||||||
|
float brightness, contrast, saturation, red, green, blue, alpha;
|
||||||
|
|
||||||
float bgGradStartCol[4];
|
float bgGradStartCol[4];
|
||||||
float bgGradEndCol[4];
|
float bgGradEndCol[4];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user