gramods
LinearAnaglyphsMultiplexer.hh
1 
2 #ifndef GRAMODS_GRAPHICS_LINEARANAGLYPHSMULTIPLEXER
3 #define GRAMODS_GRAPHICS_LINEARANAGLYPHSMULTIPLEXER
4 
5 // Required before gmCore/OFactory.hh for some compilers
6 #include <gmCore/io_float.hh>
7 
8 #include <gmGraphics/MultiscopicMultiplexer.hh>
9 
10 BEGIN_NAMESPACE_GMGRAPHICS;
11 
18 
19 public:
20 
22 
29  void setLeftColor(gmCore::float3 c);
30 
37  void setRightColor(gmCore::float3 c);
38 
47  void setSaturation(float s);
48 
57  void setLeftSaturation(float s);
58 
67  void setRightSaturation(float s);
68 
73  size_t getEyeCount() { return 2; }
74 
78  void prepare() override;
79 
83  void setupRendering(size_t eye) override;
84 
88  void finalize() override;
89 
90  GM_OFI_DECLARE;
91 
92 private:
93 
94  struct Impl;
95  std::unique_ptr<Impl> _impl;
96 
97 };
98 
99 END_NAMESPACE_GMGRAPHICS;
100 
101 #endif
An implementation of anaglyphs stereoscopic multiplexing that is based on linear operations.
Definition: LinearAnaglyphsMultiplexer.hh:17
size_t getEyeCount()
Returns the number of eyes that should be rendered for the multiplexer.
Definition: LinearAnaglyphsMultiplexer.hh:73
The multiscopic multiplexing is the process of rendering images for the left and the right (or more) ...
Definition: MultiscopicMultiplexer.hh:30
std::array< float, 3 > float3
Array of 3 float.
Definition: io_float.hh:15