gramods
Loading...
Searching...
No Matches
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
13BEGIN_NAMESPACE_GMGRAPHICS;
14
22
23public:
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
65private:
66
67 struct Impl;
68 std::unique_ptr<Impl> _impl;
69};
70
71END_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:12
Definition FisheyeCameraModel.cpp:11