Rendu
A lightweight rendering engine for experimentations
Loading...
Searching...
No Matches
PoissonFiller.hpp
1#pragma once
2#include "processing/ConvolutionPyramid.hpp"
3#include "resources/Texture.hpp"
4#include "resources/ResourcesManager.hpp"
5#include "Common.hpp"
6
12
13public:
19 PoissonFiller(uint width, uint height, uint downscaling);
20
24 void process(const Texture& texture);
25
30 void resize(uint width, uint height);
31
35 const Texture * texture() const { return &_compo; }
36
40 const Texture * preprocId() const { return &_preproc; }
41
42private:
48 int _scale;
49};
Implements a multiscale scheme for approximating convolution with large filters. This is the basis of...
Definition: ConvolutionPyramid.hpp:13
Solve a membrane interpolation ("Poisson filling") problem, using a filter as described in Convolutio...
Definition: PoissonFiller.hpp:11
void process(const Texture &texture)
Definition: PoissonFiller.cpp:21
const Texture * texture() const
Definition: PoissonFiller.hpp:35
int _scale
The downscaling factor.
Definition: PoissonFiller.hpp:48
Program * _composite
Composite the filled field with the input image.
Definition: PoissonFiller.hpp:45
Texture _compo
Contains the composited filled result at input resolution.
Definition: PoissonFiller.hpp:47
const Texture * preprocId() const
Definition: PoissonFiller.hpp:40
Texture _preproc
Contains the computed colored border.
Definition: PoissonFiller.hpp:46
Program * _prepare
Shader to compute the colored border of black regions in the input image.
Definition: PoissonFiller.hpp:44
void resize(uint width, uint height)
Definition: PoissonFiller.cpp:51
ConvolutionPyramid _pyramid
The convolution pyramid.
Definition: PoissonFiller.hpp:43
Represents a group of shaders used for rendering.
Definition: Program.hpp:31
Represents a texture containing one or more images, stored on the CPU and/or GPU.
Definition: Texture.hpp:12