18 #ifndef PIC_GL_FILTERING_FILTER_DOWN_PP_HPP 19 #define PIC_GL_FILTERING_FILTER_DOWN_PP_HPP 21 #include "../../gl/filtering/filter.hpp" 23 #include "../../util/array.hpp" 44 uniform sampler2D u_tex; \n
45 uniform vec4
value; \n
50 ivec2 coords = ivec2(gl_FragCoord.xy) * ivec2(2); \n
52 color[0] = texelFetch(u_tex, coords , 0).xyz; \n
53 color[1] = texelFetch(u_tex, coords + ivec2(1, 0), 0).xyz; \n
54 color[2] = texelFetch(u_tex, coords + ivec2(0, 1), 0).xyz; \n
55 color[3] = texelFetch(u_tex, coords + ivec2(1, 1), 0).xyz; \n
60 for(
int i = 0; i < 4; i++) {
73 f_color = vec4(ret.xyz, 1.0); \n
114 printf(
"ERROR in FilterGLDownPP");
138 if(imgIn.size() == 1) {
139 width = imgIn[0]->width >> 1;
140 height = imgIn[0]->height >> 1;
142 width = imgIn[1]->width;
143 height = imgIn[1]->height;
147 frames = imgIn[0]->frames;
TechniqueGL technique
Definition: display.hpp:45
void OutputSize(ImageGLVec imgIn, int &width, int &height, int &channels, int &frames)
OutputSize.
Definition: filter_down_pp.hpp:136
FilterGLDownPP(float *value, float threshold)
FilterGLDownPP.
Definition: filter_down_pp.hpp:95
void printLog(std::string name)
printLog
Definition: display.hpp:176
void bind()
bind
Definition: display.hpp:189
int channels
Definition: filter_down_pp.hpp:35
#define MAKE_STRING(input_string)
~FilterGLDownPP()
Definition: filter_down_pp.hpp:101
void setUniform4fv(const char *name_uniform, const float *value)
setUniform4
Definition: display.hpp:343
void setUniform1f(const char *name_uniform, float value0)
SetUniform1f.
Definition: display.hpp:247
void update(float *value, float threshold)
update
Definition: filter_down_pp.hpp:111
void setAttributeIndex(const char *attribute_name, unsigned int index)
setAttributeIndex
Definition: display.hpp:225
float threshold
Definition: filter_down_pp.hpp:34
The FilterGL class.
Definition: filter.hpp:35
void unbind()
unbind
Definition: display.hpp:197
std::string vertex_source
Definition: display.hpp:57
void initShaders()
initShaders
Definition: filter_down_pp.hpp:40
Definition: bilateral_separation.hpp:25
void setOutputFragmentShaderIndex(const char *fragment_output_color_name, unsigned int index)
setOutputFragmentShaderIndex
Definition: display.hpp:215
float * value
Definition: filter_down_pp.hpp:34
The FilterGLDownPP class.
Definition: filter_down_pp.hpp:30
void link()
link
Definition: display.hpp:205
std::string fragment_source
Definition: display.hpp:57
bool init(std::string version_number, std::string vertex_shader_source, std::string fragment_shader_source)
Definition: display.hpp:67
std::vector< ImageGL * > ImageGLVec
ImageGLVec an std::vector of pic::ImageGL.
Definition: image_vec.hpp:32
void release()
release
Definition: display.hpp:85
void setUniform1i(const char *name_uniform, int value0)
SetUniform.
Definition: display.hpp:236