X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcolorcurve.cpp;h=0b62583fc4e810e9ea8a772a99dde7fb74db6e4c;hb=47bfbdc8cf844aa079995fca34a3b906b49a4f66;hp=40f61b813dd088171beeea361b92dc91dac11a6e;hpb=18240e2bb031551e9c72a55c7d974904d209760a;p=libs%2Fgl.git diff --git a/source/colorcurve.cpp b/source/colorcurve.cpp index 40f61b81..0b62583f 100644 --- a/source/colorcurve.cpp +++ b/source/colorcurve.cpp @@ -18,9 +18,10 @@ ColorCurve::ColorCurve(): shdata.uniform("source", 0); shdata.uniform("curve", 1); - curve.storage(LUMINANCE, 256); - curve.set_min_filter(LINEAR); - curve.set_wrap(CLAMP_TO_EDGE); + curve.storage(LUMINANCE8, 256, 1); + Sampler &sampler = curve.get_default_sampler(); + sampler.set_min_filter(LINEAR); + sampler.set_wrap(CLAMP_TO_EDGE); texturing.attach(1, curve); set_exposure_adjust(0.0f); @@ -41,15 +42,6 @@ void ColorCurve::set_brightness_response(float b) shdata.uniform("brightness_response", b, t, pow(t, b)); } -void ColorCurve::set_peak(float) -{ -} - -void ColorCurve::set_brightness(float b) -{ - set_brightness_response(1/b); -} - void ColorCurve::set_gamma(float g) { if(g<0.1 || g>10) @@ -58,7 +50,7 @@ void ColorCurve::set_gamma(float g) unsigned char curve_data[256]; for(unsigned i=0; i<256; ++i) curve_data[i] = pow(i/255.0f, 1/g)*255+0.5f; - curve.image(0, LUMINANCE, UNSIGNED_BYTE, curve_data); + curve.image(0, curve_data); } void ColorCurve::set_srgb() @@ -67,7 +59,7 @@ void ColorCurve::set_srgb() curve_data[0] = 0; for(unsigned i=1; i<256; ++i) curve_data[i] = to_srgb(i/255.0f)*255+0.5f; - curve.image(0, LUMINANCE, UNSIGNED_BYTE, curve_data); + curve.image(0, curve_data); } void ColorCurve::set_linear() @@ -75,7 +67,7 @@ void ColorCurve::set_linear() unsigned char curve_data[256]; for(unsigned i=0; i<256; ++i) curve_data[i] = i; - curve.image(0, LUMINANCE, UNSIGNED_BYTE, curve_data); + curve.image(0, curve_data); } void ColorCurve::render(Renderer &renderer, const Texture2D &color_buf, const Texture2D &) @@ -85,7 +77,7 @@ void ColorCurve::render(Renderer &renderer, const Texture2D &color_buf, const Te Renderer::Push push(renderer); renderer.set_shader_program(&shprog, &shdata); renderer.set_texturing(&texturing); - quad.draw(renderer); + quad->draw(renderer); }