X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Feffects%2Fcolorcurve.cpp;h=697c7257fe84059dcc0eeef53244af28d0bc5e52;hp=8811b065fd3b6f0dddddd86a8e091e08d97bc224;hb=9a63244;hpb=73bef37da97b6da0b99227f63235cb52c4e56c44 diff --git a/source/effects/colorcurve.cpp b/source/effects/colorcurve.cpp index 8811b065..697c7257 100644 --- a/source/effects/colorcurve.cpp +++ b/source/effects/colorcurve.cpp @@ -3,6 +3,7 @@ #include "colorcurve.h" #include "mesh.h" #include "renderer.h" +#include "resources.h" #include "shader.h" #include "texture2d.h" @@ -11,17 +12,17 @@ using namespace std; namespace Msp { namespace GL { -ColorCurve::ColorCurve(): - shprog("colorcurve.glsl"), - quad(get_fullscreen_quad()), - linear_sampler(get_linear_sampler()), - nearest_sampler(get_nearest_sampler()) +ColorCurve::ColorCurve(Resources &resources): + shprog(resources.get("_colorcurve.glsl")), + quad(resources.get("_fullscreen_quad.mesh")), + linear_sampler(resources.get("_linear_clamp.samp")), + nearest_sampler(resources.get("_nearest_clamp.samp")) { shdata.uniform("source", 0); shdata.uniform("curve", 1); curve.storage(LUMINANCE8, 256, 1); - texturing.attach(1, curve, linear_sampler.get()); + texturing.attach(1, curve, &linear_sampler); set_exposure_adjust(0.0f); set_brightness_response(0.4f); @@ -71,12 +72,12 @@ void ColorCurve::set_linear() void ColorCurve::render(Renderer &renderer, const Texture2D &color_buf, const Texture2D &) { - texturing.attach(0, color_buf, nearest_sampler.get()); + texturing.attach(0, color_buf, &nearest_sampler); Renderer::Push push(renderer); renderer.set_shader_program(&shprog, &shdata); renderer.set_texturing(&texturing); - quad->draw(renderer); + quad.draw(renderer); } @@ -87,9 +88,9 @@ ColorCurve::Template::Template(): srgb(false) { } -ColorCurve *ColorCurve::Template::create(unsigned, unsigned) const +ColorCurve *ColorCurve::Template::create(Resources &res, unsigned, unsigned) const { - RefPtr colorcurve = new ColorCurve; + RefPtr colorcurve = new ColorCurve(res); colorcurve->set_exposure_adjust(exposure_adjust); colorcurve->set_brightness_response(brightness_response); if(srgb)