18 #ifndef PIC_GL_FILTERING_FILTER_NON_LINEAR_1D_HPP 19 #define PIC_GL_FILTERING_FILTER_NON_LINEAR_1D_HPP 21 #include "../../gl/filtering/filter_1d.hpp" 44 uniform sampler2D u_tex;
52 ivec2 coordsFrag = ivec2(gl_FragCoord.xy);
57 vec4 color = texelFetch(u_tex, coordsFrag.xy + coords.xy, 0);
62 ivec2 coords = ivec2(j * iX, j * iY);
64 tmpCol = texelFetch(u_tex, coordsFrag.xy + coords.xy, 0);
65 color = _ACC_FUNCTION(color, tmpCol);
74 uniform sampler3D u_tex;
84 vec4 color = vec4(0.0);
85 ivec3 coordsFrag = ivec3(ivec2(gl_FragCoord.xy),
slice);
91 ivec3 coords = coordsFrag.xyz + ivec3(j * iX, j * iY, j * iZ);
93 tmpCol = texelFetch(u_tex, coords.xyz, 0);
94 color = _ACC_FUNCTION(color, tmpCol);
102 case GL_TEXTURE_2D: {
107 case GL_TEXTURE_3D: {
115 if(I_found != std::string::npos) {
TechniqueGL technique
Definition: display.hpp:45
ImageGL * weights
Definition: display.hpp:35
int slice
Definition: display.hpp:37
The FilterGL1D class.
Definition: filter_1d.hpp:32
The FilterGLNonLinear1D class.
Definition: filter_non_linear_1d.hpp:28
FilterGLNonLinear1D(int kernelSize, std::string acc_operator, GLenum target)
FilterGLNonLinear1D.
Definition: filter_non_linear_1d.hpp:125
virtual void initShaders()
initShaders
Definition: filter_1d.hpp:175
GLenum target
Definition: display.hpp:47
#define MAKE_STRING(input_string)
The ImageGL class.
Definition: image.hpp:42
void FragmentShader(ImageGL *weights, int direction, GLenum target)
FragmentShader.
Definition: filter_non_linear_1d.hpp:40
void update(int kernelSize)
update
Definition: filter_non_linear_1d.hpp:153
void setUniformAux()
setUniformAux
Definition: filter_non_linear_1d.hpp:143
int kernelSize
Definition: filter_non_linear_1d.hpp:31
int halfKernelSize
Definition: filter_non_linear_1d.hpp:31
virtual void FragmentShader()
FragmentShader.
Definition: display.hpp:47
std::string acc_operator
Definition: filter_non_linear_1d.hpp:32
Definition: bilateral_separation.hpp:25
~FilterGLNonLinear1D()
Definition: filter_non_linear_1d.hpp:135
std::string fragment_source
Definition: display.hpp:57
void release()
release
Definition: display.hpp:85
void setUniform1i(const char *name_uniform, int value0)
SetUniform.
Definition: display.hpp:236