ColorCurve::ColorCurve():
shprog("colorcurve.glsl"),
- quad(get_fullscreen_quad())
+ quad(get_fullscreen_quad()),
+ linear_sampler(get_linear_sampler()),
+ nearest_sampler(get_nearest_sampler())
{
shdata.uniform("source", 0);
shdata.uniform("curve", 1);
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);
+ texturing.attach(1, curve, linear_sampler.get());
set_exposure_adjust(0.0f);
set_brightness_response(0.4f);
void ColorCurve::render(Renderer &renderer, const Texture2D &color_buf, const Texture2D &)
{
- texturing.attach(0, color_buf);
+ texturing.attach(0, color_buf, nearest_sampler.get());
Renderer::Push push(renderer);
renderer.set_shader_program(&shprog, &shdata);
renderer.set_texturing(&texturing);
- quad.draw(renderer);
+ quad->draw(renderer);
}