9 #ifndef YAGE_SPRITE_BATCH_HPP 10 #define YAGE_SPRITE_BATCH_HPP 15 #include <glm/glm.hpp> 37 Glyph(GLuint texture,
float depth,
const Vertex& top_left,
38 const Vertex& top_right,
const Vertex& bottom_right,
39 const Vertex& bottom_left);
41 GLuint texture()
const {
return texture_; }
42 float depth()
const {
return depth_; }
43 Vertex top_left()
const {
return top_left_; }
44 Vertex top_right()
const {
return top_right_; }
45 Vertex bottom_right()
const {
return bottom_right_; }
46 Vertex bottom_left()
const {
return bottom_left_; }
52 GLsizei num_vertices_;
57 RenderBatch(GLint offset, GLsizei num_vertices, GLuint texture);
59 GLint offset()
const {
return offset_; }
60 GLsizei num_vertices()
const {
return num_vertices_; }
61 GLuint texture()
const {
return texture_; }
66 static const int NUM_VERTICES = 6;
71 std::vector<Glyph> glyphs_;
72 std::vector<Glyph*> glyph_ptrs_;
73 std::vector<RenderBatch> render_batches_;
78 SpriteBatch(
const SpriteBatch&) =
delete;
79 SpriteBatch(SpriteBatch&&) =
delete;
82 SpriteBatch& operator=(
const SpriteBatch&) =
delete;
83 SpriteBatch& operator=(SpriteBatch&&) =
delete;
90 void draw(
const glm::vec4& destination_rect,
const glm::vec4& uv_rect,
91 GLuint texture,
const Color& color,
float depth);
96 void createVertexArray();
97 void createRenderBatches();
Glyph with information of the texture.
Definition: spritebatch.hpp:25
Definition: camera2d.hpp:17