gramods
FisheyeCameraModel.hh
1 
2 #ifndef GRAMODS_GRAPHICS_FISHEYECAMERAMODEL
3 #define GRAMODS_GRAPHICS_FISHEYECAMERAMODEL
4 
5 // Required before gmCore/OFactory.hh for some compilers
6 #include <gmCore/io_float.hh>
7 
8 #include <gmGraphics/CoordinatesMapper.hh>
9 
10 #include <GL/glew.h>
11 #include <GL/gl.h>
12 
13 BEGIN_NAMESPACE_GMGRAPHICS;
14 
22 
23 public:
24 
27 
31  std::string getTo2DCode() override;
32 
36  void setTo2DUniforms(GLuint program) override;
37 
43  void setDistortion(gmCore::float4 k);
44 
52  void setFocalDistance(gmCore::float2 f);
53 
61  void setFocalOffset(gmCore::float2 c);
62 
63  GM_OFI_DECLARE;
64 
65 private:
66 
67  struct Impl;
68  std::unique_ptr<Impl> _impl;
69 };
70 
71 END_NAMESPACE_GMGRAPHICS;
72 
73 #endif
A CoordinatesMapper provides a mapping between 2D and 3D.
Definition: CoordinatesMapper.hh:23
Coordinates mapper that compensates for the optical effects as described by a fisheye camera model.
Definition: FisheyeCameraModel.hh:21
std::array< float, 4 > float4
Array of 4 float.
Definition: io_float.hh:18
std::array< float, 2 > float2
Array of 2 float.
Definition: io_float.hh:9
Definition: FisheyeCameraModel.cpp:11