gramods
modules
gmGraphics
include
gmGraphics
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
16
BEGIN_NAMESPACE_GMGRAPHICS;
17
21
class
ChromaKeyTexture
22
:
public
gmGraphics::Texture
{
23
24
public
:
25
26
ChromaKeyTexture
();
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
75
private
:
76
77
struct
Impl
;
78
std::unique_ptr<Impl> _impl;
79
};
80
81
END_NAMESPACE_GMGRAPHICS;
82
83
#endif
gramods::gmGraphics::ChromaKeyTexture
Decoder of Yuv encoded texture into a new texture.
Definition:
ChromaKeyTexture.hh:22
gramods::gmGraphics::Texture
The base of classes providing texture data for rendering.
Definition:
Texture.hh:18
gramods::gmCore::float3
std::array< float, 3 > float3
Array of 3 float.
Definition:
io_float.hh:15
gramods::gmCore::float2
std::array< float, 2 > float2
Array of 2 float.
Definition:
io_float.hh:9
gramods::gmCore::Object::Visitor
The visitor of a design pattern for automatic traversal.
Definition:
Object.hh:75
gramods::gmGraphics::ChromaKeyTexture::Impl
Definition:
ChromaKeyTexture.cpp:18
gramods::gmGraphics::Eye
An indexed eye that can be rendered.
Definition:
Eye.hh:20
Generated by
1.9.1