PICCANTE  0.4
The hottest HDR imaging library!
display.hpp
Go to the documentation of this file.
1 /*
2 
3 PICCANTE
4 The hottest HDR imaging library!
5 http://vcg.isti.cnr.it/piccante
6 
7 Copyright (C) 2014
8 Visual Computing Laboratory - ISTI CNR
9 http://vcg.isti.cnr.it
10 First author: Francesco Banterle
11 
12 This Source Code Form is subject to the terms of the Mozilla Public
13 License, v. 2.0. If a copy of the MPL was not distributed with this
14 file, You can obtain one at http://mozilla.org/MPL/2.0/.
15 
16 */
17 
18 #ifndef PIC_UTIL_GL_DISPLAY_HPP
19 #define PIC_UTIL_GL_DISPLAY_HPP
20 
21 namespace pic {
22 
23 #include <string>
24 
25 #include "../../util/gl/technique.hpp"
26 #include "../../util/std_util.hpp"
27 
28 #include "../../gl/colors/color_conv_rgb_to_srgb.hpp"
29 #include "../../gl/filtering/filter_color_conv.hpp"
30 
34 class DisplayGL
35 {
36 protected:
42 
43 public:
44 
49  {
50  //create a screen aligned quad
54 
55  quad = new pic::QuadGL(true);
56 
57  img_flt_tmo = NULL;
58 
59  //allocate a new filter for simple tone mapping
62  }
63 
65  {
70  }
71 
76  void Process(ImageGL *img_to_be_displayed)
77  {
78  //conversion from RGB linear to sRGB
79  img_flt_tmo = conv->Process(SingleGL(img_to_be_displayed), img_flt_tmo);
80 
81  //visualization
83  }
84 
85 };
86 
87 } // end namespace pic
88 
89 #endif /* PIC_UTIL_GL_DISPLAY_HPP */
90 
The DisplayGL class.
Definition: display.hpp:34
T * delete_s(T *data)
delete_s
Definition: std_util.hpp:123
static void getTechnique(TechniqueGL &technique, std::string vp_src="", std::string fp_src="", bool bTextureCoordinates=false)
getProgram creates a simple program.
Definition: display.hpp:320
PIC_INLINE ImageGLVec SingleGL(ImageGL *img)
SingleGL creates a single for filters input.
Definition: image_vec.hpp:39
pic::QuadGL * quad
Definition: display.hpp:37
ImageGL * img_flt_tmo
Definition: display.hpp:39
static std::string getFragmentProgramForView()
getFragmentProgramForView
Definition: display.hpp:295
~DisplayGL()
Definition: display.hpp:64
virtual ImageGL * Process(ImageGLVec imgIn, ImageGL *imgOut)
Process.
Definition: display.hpp:258
DisplayGL()
DisplayGL.
Definition: display.hpp:48
The ColorConvGL class.
Definition: display.hpp:30
The ColorConvGLRGBtosRGB class.
Definition: display.hpp:28
pic::TechniqueGL technique
Definition: display.hpp:38
void Render()
Render draws a quad on screen.
Definition: display.hpp:140
The ImageGL class.
Definition: display.hpp:42
pic::FilterGLColorConv * conv
Definition: display.hpp:41
void Process(ImageGL *img_to_be_displayed)
Process.
Definition: display.hpp:76
GLuint getTexture() const
getTexture
Definition: image.hpp:369
Definition: bilateral_separation.hpp:25
The FilterGLColorConv class.
Definition: display.hpp:30
The TechniqueGL class.
Definition: display.hpp:31
The QuadGL class.
Definition: display.hpp:30
static std::string getVertexProgramV3()
getVertexProgramV3 creates a simple vertex program.
Definition: display.hpp:216
pic::ColorConvGLRGBtosRGB * conv_sRGB
Definition: display.hpp:40