18 #ifndef PIC_GL_FILTERING_FILTER_REMOVE_NUKED_HPP 19 #define PIC_GL_FILTERING_FILTER_REMOVE_NUKED_HPP 21 #include "../../base.hpp" 22 #include "../../gl/filtering/filter.hpp" 70 uniform sampler2D u_tex;
76 ivec2 coordsFrag = ivec2(gl_FragCoord.xy);
78 float ref = texelFetch(u_tex, coordsFrag, 0).x;
83 vec3 colorNuked = vec3(0.0);
85 for(
int i = -2; i < 3; i++) {
86 for(
int j = -2; j < 3; j++) {
88 ivec2 coords = ivec2(i, j);
90 tmp = texelFetch(u_tex, coordsFrag.xy + coords.xy, 0).x;
91 float tmp2 = abs(tmp - ref);
95 colorNuked = vec3(tmp);
100 vec3 color = vec3(ref);
107 f_color = vec4(color, 1.0);
TechniqueGL technique
Definition: display.hpp:45
The FilterGLRemoveNuked class.
Definition: filter_remove_nuked.hpp:29
FilterGLRemoveNuked(float threshold)
FilterGLRemoveNuked.
void bind()
bind
Definition: display.hpp:189
#define MAKE_STRING(input_string)
void setUniform1f(const char *name_uniform, float value0)
SetUniform1f.
Definition: display.hpp:247
void update(float threshold)
update
The FilterGL class.
Definition: filter.hpp:35
float threshold
Definition: filter_remove_nuked.hpp:32
The FilterGL class.
Definition: display.hpp:35
#define PIC_INLINE
Definition: base.hpp:33
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 FragmentShader()
FragmentShader.
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
void initShaders()
initShaders
void setUniform1i(const char *name_uniform, int value0)
SetUniform.
Definition: display.hpp:236