gramods
Loading...
Searching...
No Matches
ChromaKeyTexture.hh
1
2
3#ifndef GRAMODS_GRAPHICS_CHROMAKEYTEXTURE
4#define GRAMODS_GRAPHICS_CHROMAKEYTEXTURE
5
6// Required before gmCore/OFactory.hh for some compilers
7#include <gmCore/io_float.hh>
8#include <gmCore/io_eigen.hh>
9
10#include <gmGraphics/Texture.hh>
11
12#include <gmCore/OFactory.hh>
13
14#include <memory>
15
16BEGIN_NAMESPACE_GMGRAPHICS;
17
22 : public gmGraphics::Texture {
23
24public:
25
27
43 GLuint updateTexture(size_t frame_number, Eye eye) override;
44
48 void setTexture(std::shared_ptr<TextureInterface> texture);
49
55 void setKey(gmCore::float3 key);
56
64 void setTolerance(gmCore::float2 tol);
65
71 void traverse(Visitor *visitor) override;
72
73 GM_OFI_DECLARE;
74
75private:
76
77 struct Impl;
78 std::unique_ptr<Impl> _impl;
79};
80
81END_NAMESPACE_GMGRAPHICS;
82
83#endif
Decoder of Yuv encoded texture into a new texture.
Definition ChromaKeyTexture.hh:22
The base of classes providing texture data for rendering.
Definition Texture.hh:18
std::array< float, 3 > float3
Array of 3 float.
Definition io_float.hh:15
std::array< float, 2 > float2
Array of 2 float.
Definition io_float.hh:12
The visitor of a design pattern for automatic traversal.
Definition Object.hh:75
Definition ChromaKeyTexture.cpp:18
An indexed eye that can be rendered.
Definition Eye.hh:20