gramods
MultiscopicTextureMultiplexer.hh
1 
2 
3 #ifndef GRAMODS_GRAPHICS_MULTISCOPICTEXTUREMULTIPLEXER
4 #define GRAMODS_GRAPHICS_MULTISCOPICTEXTUREMULTIPLEXER
5 
6 #include <gmGraphics/Texture.hh>
7 
8 #include <gmCore/OFactory.hh>
9 #include <gmCore/io_float.hh>
10 #include <gmCore/io_eigen.hh>
11 
12 #include <memory>
13 
14 BEGIN_NAMESPACE_GMGRAPHICS;
15 
21  : public gmGraphics::Texture {
22 
23 public:
24 
26 
42  GLuint updateTexture(size_t frame_number, Eye eye) override;
43 
47  void addTexture(std::shared_ptr<TextureInterface> texture);
48 
54  void traverse(Visitor *visitor) override;
55 
56  GM_OFI_DECLARE;
57 
58 private:
59 
60  struct Impl;
61  std::unique_ptr<Impl> _impl;
62 };
63 
64 END_NAMESPACE_GMGRAPHICS;
65 
66 #endif
Texture that returns one other texture at a time that encodes multiple textures, typically for stereo...
Definition: MultiscopicTextureMultiplexer.hh:21
The base of classes providing texture data for rendering.
Definition: Texture.hh:18
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: MultiscopicTextureMultiplexer.cpp:12