gramods
MultiscopicTextureSplitter.hh
1 
2 
3 #ifndef GRAMODS_GRAPHICS_MULTISCOPICTEXTURESPLITTER
4 #define GRAMODS_GRAPHICS_MULTISCOPICTEXTURESPLITTER
5 
6 // Required before gmCore/OFactory.hh for some compilers
7 #include <gmCore/io_size.hh>
8 
9 #include <gmGraphics/Texture.hh>
10 
11 #include <gmCore/OFactory.hh>
12 
13 #include <memory>
14 
15 BEGIN_NAMESPACE_GMGRAPHICS;
16 
22  : public gmGraphics::Texture {
23 
24 public:
25 
27 
43  GLuint updateTexture(size_t frame_number, Eye eye) override;
44 
50  void setTexture(std::shared_ptr<TextureInterface> texture);
51 
61  void setSplitType(size_t type);
62 
68  void traverse(Visitor *visitor) override;
69 
70  GM_OFI_DECLARE;
71 
72 private:
73 
74  struct Impl;
75  std::unique_ptr<Impl> _impl;
76 };
77 
78 END_NAMESPACE_GMGRAPHICS;
79 
80 #endif
Texture that reads off one part at a time from another texture that encodes multiple textures,...
Definition: MultiscopicTextureSplitter.hh:22
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: MultiscopicTextureSplitter.cpp:17