18 #ifndef PIC_GL_FILTERING_FILTER_SAMPLER_2D_HPP 19 #define PIC_GL_FILTERING_FILTER_SAMPLER_2D_HPP 21 #include "../../gl/filtering/filter.hpp" 40 uniform sampler2D u_tex; \n
41 uniform
float scale; \n
45 vec2 coords = gl_FragCoord.xy / vec2(
scale);
46 vec3 color = texelFetch(u_tex, ivec2(coords), 0).xyz; \n
47 f_color = vec4(color.xyz, 1.0); \n
87 if(imgIn.size() == 1) {
88 width = int(imgIn[0]->widthf *
scale);
89 height = int(imgIn[0]->heightf *
scale);
91 width = imgIn[1]->width;
92 height = imgIn[1]->height;
95 channels = imgIn[0]->channels;
96 frames = imgIn[0]->frames;
TechniqueGL technique
Definition: display.hpp:45
void update(float scale)
update
Definition: filter_sampler_2d.hpp:103
GLuint generateTextureGL(GLenum target, GLenum format_type, bool mipmap)
generateTextureGL
FilterGLSampler2D(float scale)
FilterGLSampler2D.
Definition: filter_sampler_2d.hpp:59
void bind()
bind
Definition: display.hpp:189
#define MAKE_STRING(input_string)
PIC_INLINE ImageGLVec SingleGL(ImageGL *img)
SingleGL creates a single for filters input.
Definition: image_vec.hpp:39
The ImageGL class.
Definition: image.hpp:42
void setUniform1f(const char *name_uniform, float value0)
SetUniform1f.
Definition: display.hpp:247
virtual ImageGL * Process(ImageGLVec imgIn, ImageGL *imgOut)
Process.
Definition: display.hpp:258
The FilterGL class.
Definition: filter.hpp:35
void initShaders()
initShaders
Definition: filter_sampler_2d.hpp:36
The FilterGLSampler2D class.
Definition: filter_sampler_2d.hpp:28
bool initStandard(std::string version_number, std::string vertex_shader_source, std::string fragment_shader_source, std::string name)
initStandard
Definition: display.hpp:114
void OutputSize(ImageGLVec imgIn, int &width, int &height, int &channels, int &frames)
OutputSize.
Definition: filter_sampler_2d.hpp:78
void unbind()
unbind
Definition: display.hpp:197
std::string vertex_source
Definition: display.hpp:57
Definition: bilateral_separation.hpp:25
static ImageGL * execute(ImageGL *imgIn, ImageGL *imgOut, float scale)
execute
Definition: filter_sampler_2d.hpp:123
~FilterGLSampler2D()
Definition: filter_sampler_2d.hpp:65
bool isValid()
Definition: display.hpp:62
std::string fragment_source
Definition: display.hpp:57
float scale
Definition: filter_sampler_2d.hpp:31
std::vector< ImageGL * > ImageGLVec
ImageGLVec an std::vector of pic::ImageGL.
Definition: image_vec.hpp:32
void release()
release
Definition: display.hpp:85