gramods
modules
gmGraphics
include
gmGraphics
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
12
BEGIN_NAMESPACE_GMGRAPHICS;
13
20
class
TextureProjectedView
21
:
public
MultiscopicView
{
22
23
public
:
24
25
TextureProjectedView
();
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
96
private
:
97
98
struct
Impl
;
99
std::unique_ptr<Impl> _impl;
100
};
101
102
END_NAMESPACE_GMGRAPHICS;
103
104
#endif
gramods::gmGraphics::MultiscopicView
The base of Views that support multiscopic perspectives.
Definition:
MultiscopicView.hh:19
gramods::gmGraphics::TextureProjectedView
The TextureProjectedView uses a texture to define the 3D position of each render target buffer pixel,...
Definition:
TextureProjectedView.hh:21
gramods::gmCore::size2
std::array< size_t, 2 > size2
Array of 2 size_t.
Definition:
io_size.hh:9
gramods::gmCore::Object::Visitor
The visitor of a design pattern for automatic traversal.
Definition:
Object.hh:75
gramods::gmGraphics::Eye
An indexed eye that can be rendered.
Definition:
Eye.hh:20
gramods::gmGraphics::TextureProjectedView::Impl
Definition:
TextureProjectedView.cpp:21
gramods::gmGraphics::ViewBase::ViewSettings
Package of settings affecting the rendering.
Definition:
ViewBase.hh:30
Generated by
1.9.1