gramods
Loading...
Searching...
No Matches
TextureProjectedView.hh
1
2#ifndef GRAMODS_GRAPHICS_TEXTUREPROJECTEDVIEW
3#define GRAMODS_GRAPHICS_TEXTUREPROJECTEDVIEW
4
5// Required before gmCore/OFactory.hh for some compilers
6#include <gmCore/io_eigen.hh>
7#include <gmCore/io_size.hh>
8
9#include <gmGraphics/MultiscopicView.hh>
10#include <gmGraphics/TextureInterface.hh>
11
12BEGIN_NAMESPACE_GMGRAPHICS;
13
21 : public MultiscopicView {
22
23public:
24
26 virtual ~TextureProjectedView();
27
34 void setBufferResolution(gmCore::size2 R);
35
42 void setLinearInterpolation(bool on);
43
49 void renderFullPipeline(ViewSettings settings, Eye eye) override;
50
56 void traverse(Visitor *visitor) override;
57
63 void setTexture(std::shared_ptr<TextureInterface> tex);
64
75 void setEdgeToEdge(bool on);
76
83 void setWarpScale(Eigen::Vector3f scale);
84
92 void setWarpOffset(Eigen::Vector3f offset);
93
94 GM_OFI_DECLARE;
95
96private:
97
98 struct Impl;
99 std::unique_ptr<Impl> _impl;
100};
101
102END_NAMESPACE_GMGRAPHICS;
103
104#endif
The base of Views that support multiscopic perspectives.
Definition MultiscopicView.hh:19
The TextureProjectedView uses a texture to define the 3D position of each render target buffer pixel,...
Definition TextureProjectedView.hh:21
std::array< size_t, 2 > size2
Array of 2 size_t.
Definition io_size.hh:12
The visitor of a design pattern for automatic traversal.
Definition Object.hh:75
An indexed eye that can be rendered.
Definition Eye.hh:20
Definition TextureProjectedView.cpp:21
Package of settings affecting the rendering.
Definition ViewBase.hh:30