cgv
image_drawable.h
1
#pragma once
2
3
#include <cgv/render/drawable.h>
4
#include <cgv/render/shader_program.h>
5
#include <cgv/render/vertex_buffer.h>
6
#include <cgv/render/attribute_array_binding.h>
7
8
#include "lib_begin.h"
9
10
namespace
cgv
{
11
namespace
render {
12
namespace
gl {
13
15
class
CGV_API
image_drawable
:
public
drawable
16
{
17
public
:
19
typedef
cgv::math::fvec<cgv::type::int32_type, 2>
vec2i
;
21
typedef
cgv::media::axis_aligned_box<cgv::type::int32_type, 2>
box2i
;
22
protected
:
23
std::vector<unsigned> tex_ids;
24
std::vector<float> durations;
25
unsigned
current_image;
26
std::string file_name;
27
std::vector<std::string> files;
28
cgv::render::vertex_buffer
vbo;
29
cgv::render::attribute_array_binding
aab;
30
31
double
start_time;
32
double
anim_time;
33
double
aspect;
34
35
bool
animate;
36
bool
use_blending;
37
bool
wireframe;
38
39
float
tess_level;
40
42
box2i
selection
;
43
45
bool
show_selection
;
46
48
int
W
,H;
49
50
vec4 min_value;
51
vec4 max_value;
52
vec4 gamma4;
53
54
float
checker_lambda, k1, k2, k3, k4, k5, k6, p1, p2, cx, cy, s;
55
56
// mixing
57
bool
use_mixing;
58
unsigned
mix_with;
59
float
mix_param;
60
61
// sperical projection
62
bool
spherical;
63
vec2 pan_tilt;
64
float
scale;
65
66
cgv::render::shader_program
prog;
67
public
:
69
image_drawable
();
71
void
timer_event(
double
t,
double
dt);
73
bool
read_image(
const
std::string& _file_name);
75
bool
read_images(
const
std::string& _file_name,
const
std::vector<std::string>& _files);
77
bool
save_images(
const
std::string& output_file_name);
79
unsigned
get_nr_images
()
const
{
return
(
unsigned
) tex_ids.size(); }
81
bool
init(
context
&);
83
void
draw(
context
&);
85
void
clear(
context
&);
86
};
87
88
}
89
}
90
}
91
92
#include <cgv/config/lib_end.h>
cgv::render::attribute_array_binding
Definition:
attribute_array_binding.h:20
cgv::math::fvec
Definition:
fvec.h:18
cgv::render::vertex_buffer
Definition:
vertex_buffer.h:13
cgv::render::gl::image_drawable::vec2i
cgv::math::fvec< cgv::type::int32_type, 2 > vec2i
type of pixel coordinates
Definition:
image_drawable.h:19
cgv::render::gl::image_drawable::get_nr_images
unsigned get_nr_images() const
return the number of loaded subimages
Definition:
image_drawable.h:79
cgv::render::gl::image_drawable::box2i
cgv::media::axis_aligned_box< cgv::type::int32_type, 2 > box2i
type of a pixel box
Definition:
image_drawable.h:21
cgv::render::shader_program
Definition:
shader_program.h:25
cgv::media::axis_aligned_box< cgv::type::int32_type, 2 >
cgv::render::drawable
Definition:
drawable.h:15
cgv::render::gl::image_drawable::W
int W
extent of image
Definition:
image_drawable.h:48
cgv::render::gl::image_drawable::selection
box2i selection
extent selection box
Definition:
image_drawable.h:42
cgv::render::gl::image_drawable
base class of drawables that show static or animated images
Definition:
image_drawable.h:16
cgv::render::gl::image_drawable::show_selection
bool show_selection
whether to show the selection rectangle
Definition:
image_drawable.h:45
cgv
the cgv namespace
Definition:
vr_calib.cxx:9
cgv::render::context
Definition:
context.h:525
projects
git
cgv
libs
cgv_gl
gl
image_drawable.h
Generated by
1.8.18