18 #ifndef PIC_GL_FILTERING_FILTER_LUMINANCE_HPP 19 #define PIC_GL_FILTERING_FILTER_LUMINANCE_HPP 21 #include "../../base.hpp" 22 #include "../../filtering/filter_luminance.hpp" 23 #include "../../gl/filtering/filter.hpp" 88 width = imgIn[0]->width;
89 height = imgIn[0]->height;
91 frames = imgIn[0]->frames;
113 uniform sampler2D u_tex; \n
117 ivec2 coords = ivec2(gl_FragCoord.xy); \n
118 vec3 color = texelFetch(u_tex, coords, 0).xyz; \n
119 float L = dot(color,
weights); \n
120 f_color = vec4(L, L, L, 1.0); \n
Definition: filter_luminance.hpp:28
TechniqueGL technique
Definition: display.hpp:45
LUMINANCE_TYPE
Definition: filter_luminance.hpp:28
void initShaders()
initShaders
void bind()
bind
Definition: display.hpp:189
#define MAKE_STRING(input_string)
~FilterGLLuminance()
Definition: filter_luminance.hpp:49
PIC_INLINE ImageGLVec SingleGL(ImageGL *img)
SingleGL creates a single for filters input.
Definition: image_vec.hpp:39
float weights[3]
Definition: filter_luminance.hpp:35
void update(LUMINANCE_TYPE type)
update
The ImageGL class.
Definition: image.hpp:42
virtual ImageGL * Process(ImageGLVec imgIn, ImageGL *imgOut)
Process.
Definition: display.hpp:258
The FilterGL class.
Definition: filter.hpp:35
LUMINANCE_TYPE type
Definition: filter_luminance.hpp:34
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
LUMINANCE_TYPE
Definition: display.hpp:28
void OutputSize(ImageGLVec imgIn, int &width, int &height, int &channels, int &frames)
OutputSize.
Definition: filter_luminance.hpp:86
FilterGLLuminance()
FilterGLLuminance.
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)
execute
Definition: filter_luminance.hpp:71
static float * computeWeights(LUMINANCE_TYPE type, int channels, float *weights)
computeWeights
Definition: filter_luminance.hpp:83
The FilterGLLuminance class.
Definition: filter_luminance.hpp:30
std::string fragment_source
Definition: display.hpp:57
std::vector< ImageGL * > ImageGLVec
ImageGLVec an std::vector of pic::ImageGL.
Definition: image_vec.hpp:32
void setUniform3f(const char *name_uniform, float value0, float value1, float value2)
setUniform
Definition: display.hpp:273
void release()
release
Definition: display.hpp:85
void setUniform1i(const char *name_uniform, int value0)
SetUniform.
Definition: display.hpp:236