Horizon
Loading...
Searching...
No Matches
src
canvas
picture_renderer.hpp
1
#pragma once
2
#include "common/common.hpp"
3
#include "util/uuid.hpp"
4
#include "color_palette.hpp"
5
#include "util/gl_inc.h"
6
#include <memory>
7
#include "util/picture_data.hpp"
8
9
namespace
horizon {
10
11
class
PictureRenderer
{
12
friend
class
CanvasGL
;
13
14
public
:
15
PictureRenderer
(
const
class
CanvasGL
&c);
16
void
realize();
17
void
render(
bool
on_top);
18
void
push();
19
20
private
:
21
const
CanvasGL
&ca;
22
23
GLuint program;
24
GLuint vao;
25
GLuint vbo;
26
27
GLuint screenmat_loc;
28
GLuint viewmat_loc;
29
GLuint scale_loc;
30
GLuint size_loc;
31
GLuint shift_loc;
32
GLuint angle_loc;
33
GLuint tex_loc;
34
GLuint opacity_loc;
35
36
std::map<UUID, std::pair<std::shared_ptr<const PictureData>, GLuint>> textures;
37
void
cache_picture(std::shared_ptr<const PictureData> d);
38
void
uncache_picture(
const
UUID
&uu);
39
};
40
}
// namespace horizon
horizon::CanvasGL
Definition
canvas_gl.hpp:20
horizon::PictureRenderer
Definition
picture_renderer.hpp:11
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition
uuid.hpp:16
Generated by
1.9.8