18 #ifndef PIC_GL_FILTERING_FILTER_DEFORM_GRID_HPP 19 #define PIC_GL_FILTERING_FILTER_DEFORM_GRID_HPP 21 #include "../../base.hpp" 22 #include "../../util/std_util.hpp" 23 #include "../../util/gl/bicubic.hpp" 24 #include "../../image_samplers/image_sampler_bicubic.hpp" 25 #include "../../filtering/filter_deform_grid.hpp" 26 #include "../../gl/filtering/filter.hpp" 114 uniform sampler2D u_tex; \n
115 uniform sampler2D u_grid; \n
120 vec2 tSize = vec2(textureSize(u_tex, 0));
121 vec2 coords = gl_FragCoord.xy / tSize.xy; \n
123 vec2 shifts = textureBicubic(u_grid, coords.xy).xy;
124 f_color = texture(u_tex, coords + shifts.xy);
TechniqueGL technique
Definition: display.hpp:45
T * delete_s(T *data)
delete_s
Definition: std_util.hpp:123
GLuint generateTextureGL(GLenum target, GLenum format_type, bool mipmap)
generateTextureGL
The ImageSamplerBicubic class.
Definition: image_sampler_bicubic.hpp:28
void bind()
bind
Definition: display.hpp:189
#define MAKE_STRING(input_string)
The Image class stores an image as buffer of float.
Definition: filter_radial_basis_function.hpp:60
The ImageGL class.
Definition: image.hpp:42
PIC_INLINE std::string GLSL_TEXTURE_BICUBIC()
GLSL_TEXTURE_BICUBIC.
Definition: bicubic.hpp:60
The FilterGL class.
Definition: filter.hpp:35
The FilterGL class.
Definition: display.hpp:35
#define PIC_INLINE
Definition: base.hpp:33
void SampleImage(Image *img, float x, float y, float *vOut)
SampleImage samples an image in uniform coordiantes.
Definition: image_sampler_bicubic.hpp:43
The ImageGL class.
Definition: display.hpp:42
int width
Definition: filter_radial_basis_function.hpp:80
bool initStandard(std::string version_number, std::string vertex_shader_source, std::string fragment_shader_source, std::string name)
initStandard
Definition: display.hpp:114
ImageGLVec param
Definition: display.hpp:49
The Image class stores an image as buffer of float.
Definition: image.hpp:60
PIC_INLINE std::string GLSL_BICUBIC()
GLSL_BICUBIC returns bicubic sample.
Definition: bicubic.hpp:31
void unbind()
unbind
Definition: display.hpp:197
std::string vertex_source
Definition: display.hpp:57
Definition: bilateral_separation.hpp:25
std::string fragment_source
Definition: display.hpp:57
int height
Definition: image.hpp:80
void release()
release
Definition: display.hpp:85
void setUniform1i(const char *name_uniform, int value0)
SetUniform.
Definition: display.hpp:236
void loadFromMemory()
loadFromMemory