Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
OutputLensDistortion.hh
1 #ifndef OUTPUT_LENS_DISTORTION_HH_
2 #define OUTPUT_LENS_DISTORTION_HH_
3 
4 #include <bias_config.h>
5 
6 #ifndef BIAS_HAVE_OPENGL
7 # error You need BIAS with USE_OpenGL Please recompile BIAS.
8 #endif // BUILD_GLviewer
9 
10 #include <Gui/biasgl.h>
11 #include <Base/Debug/Debug.hh>
12 
13 #include <OpenGLFramework/Base/glfRenderTarget.hh>
14 #include <GLviewer/OutputAttachments/GLProjectionOutputAttachment.hh>
15 #include <OpenGLFramework/Base/glfTexture2D.hh>
16 #include <Geometry/ProjectionParametersPerspective.hh>
17 
18 namespace BIAS {
19 
20  /**
21  * @brief Distortion Rendering
22  * @ingroup g_glviewer
23  * @author fkellner, jkollmann
24  */
25  class BIASGLviewer_EXPORT OutputLensDistortion : public GLProjectionOutputAttachment {
26  public:
27  // standards
29  void CreateLookupTable(BIAS::ProjectionParametersBase *pp);
30  virtual ~OutputLensDistortion();
31  protected:
32  /// creates strings with shader code and calls InitShader(vertex, fragment) from superclass
33  int InitShader_();
34  /** @brief main draw function
35  * @return -1 if target is NULL, 0 on success*/
36  int Draw_();
37 
38  private:
39  BIAS::glfTexture2D distortionMap_;
40  };
41 
42 }
43 #endif
44 
A 2D texture.
Definition: glfTexture2D.hh:40
Class for extra rendering pass in GLProjection (for now only used in glutGLviewer) ...
Camera parameters which define the mapping between rays in the camera coordinate system and pixels in...
Interface for render targets.