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>
|
||||
<Value>255.000000000</Value>
|
||||
</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>
|
||||
<Kind>4</Kind>
|
||||
<Name>RED</Name>
|
||||
<Value>68.782897949</Value>
|
||||
<Value>19.292762756</Value>
|
||||
</Widget>
|
||||
<Widget>
|
||||
<Kind>4</Kind>
|
||||
<Name>GREEN</Name>
|
||||
<Value>67.944076538</Value>
|
||||
<Value>21.809211731</Value>
|
||||
</Widget>
|
||||
<Widget>
|
||||
<Kind>4</Kind>
|
||||
<Name>BLUE</Name>
|
||||
<Value>104.013153076</Value>
|
||||
<Value>21.809211731</Value>
|
||||
</Widget>
|
||||
<Widget>
|
||||
<Kind>4</Kind>
|
||||
<Name>ALPHA</Name>
|
||||
<Value>200.476974487</Value>
|
||||
<Value>139.243423462</Value>
|
||||
</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;
|
||||
|
||||
addKeyboardShortcutsGUI();
|
||||
addGraphAnimationGUI();
|
||||
//addGraphAnimationGUI();
|
||||
addBarGraphDesignGUI();
|
||||
addGraphSimulationGUI();
|
||||
addBackgroundGUI();
|
||||
@ -40,6 +40,8 @@ void GUI::addKeyboardShortcutsGUI()
|
||||
gui->addLabel("SPACE - SHOW/HIDE GUI", OFX_UI_FONT_SMALL);
|
||||
gui->addLabel("'[' - PREVIOUS 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);
|
||||
@ -96,14 +98,26 @@ void GUI::addBackgroundGUI()
|
||||
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->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);
|
||||
finaliseCanvas(gui, true);
|
||||
|
||||
@ -3,11 +3,10 @@
|
||||
// TODO
|
||||
// ====
|
||||
// - 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 GUI
|
||||
// - - Publisher choice
|
||||
// - Add to config
|
||||
// - - IP address
|
||||
// - - Host name
|
||||
// - - App name
|
||||
@ -67,7 +66,7 @@ void testApp::mousePressed(int x, int y, int button)
|
||||
void testApp::keyPressed(int key)
|
||||
{
|
||||
if (key == 'p')
|
||||
{
|
||||
isPaused = !isPaused;
|
||||
}
|
||||
else if (key == 'f')
|
||||
ofToggleFullscreen();
|
||||
}
|
||||
@ -11,6 +11,8 @@
|
||||
|
||||
void Scene::setup()
|
||||
{
|
||||
bgImg.loadImage("images/tanks.jpg");
|
||||
rgbShader.load("shaders/RGBShader");
|
||||
barGraph.setup();
|
||||
}
|
||||
|
||||
@ -27,6 +29,23 @@ void Scene::draw()
|
||||
ofColor(bgGradEndCol[0], bgGradEndCol[1], bgGradEndCol[2], bgGradEndCol[3]),
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
@ -21,6 +21,10 @@ public:
|
||||
void draw();
|
||||
|
||||
BarGraph barGraph;
|
||||
ofShader rgbShader;
|
||||
ofImage bgImg;
|
||||
|
||||
float brightness, contrast, saturation, red, green, blue, alpha;
|
||||
|
||||
float bgGradStartCol[4];
|
||||
float bgGradEndCol[4];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user