Renders sprites in batches, with optional render priority.
More...
#include <spriteRenderer.h>
|
| SpriteRenderer (size_t sizeHint=8) |
| Construct a new SpriteRenderer.
|
|
Sprite & | getSprite (SpriteId id) |
|
virtual void | draw (std::shared_ptr< Shader > shader, std::multimap< RenderPriority, SpriteId > ids) |
| Draw with overriding render priority and shader.
|
|
virtual void | draw (std::multimap< RenderPriority, SpriteId > ids) |
| Draw with overriding render priority.
|
|
virtual void | draw (std::shared_ptr< Shader > shader) |
| Draw with overriding shader.
|
|
virtual void | draw () |
| Draw with default shader and priority.
|
|
virtual void | setProjection (glm::mat4 p) |
|
| PriorityStore (uint64_t sizeHint=8) |
| Construct a new Priority Store with a reserved size.
|
|
virtual void | clear () |
|
virtual void | add (Sprite s, ElementId id, Priority priority=0) |
| Insert an element.
|
|
virtual void | remove (ElementId id) |
|
void | updatePriority (ElementId id, Priority newPriority) |
|
std::vector< std::pair< Info, Sprite > > | vectorise (std::multimap< Priority, ElementId > &oids) |
| Return a vector from overriding priorities.
|
|
Sprite & | operator[] (ElementId id) |
|
std::vector< std::pair< Info, Sprite > >::const_iterator | begin () const |
|
std::vector< std::pair< Info, Sprite > >::const_iterator | end () const |
|
uint64_t | size () const |
|
bool | hasId (const ElementId id) const |
|
|
static const uint8_t | MAX_BATCH_BOUND_TEXTURES = MAX_SPRITE_BATCH_BOUND_TEXTURES |
| Largest number of concurrent textures bound for one batch.
|
|
Renders sprites in batches, with optional render priority.
◆ SpriteRenderer()
jGL::SpriteRenderer::SpriteRenderer |
( |
size_t |
sizeHint = 8 | ) |
|
|
inline |
Construct a new SpriteRenderer.
- Parameters
-
sizeHint | Reserve some memory for this many Sprites. |
◆ draw() [1/5]
virtual void jGL::SpriteRenderer::draw |
( |
| ) |
|
|
inlinevirtual |
Draw with default shader and priority.
◆ draw() [2/5]
Draw with overriding render priority.
- Parameters
-
ids | Render priorities for the Sprites. |
◆ draw() [3/5]
virtual void jGL::SpriteRenderer::draw |
( |
std::shared_ptr< Shader > |
shader | ) |
|
|
inlinevirtual |
Draw with overriding shader.
- Parameters
-
shader | A Shader to draw all the Sprites with. |
◆ draw() [4/5]
Draw with overriding render priority and shader.
- Parameters
-
shader | An OpenGL Shader to draw all the Sprites with. |
ids | Render priorities for the Sprites. |
◆ draw() [5/5]
virtual void jGL::SpriteRenderer::draw |
( |
std::shared_ptr< Shader > |
shader, |
|
|
std::vector< std::pair< Info, Sprite > > & |
sprites |
|
) |
| |
|
protectedpure virtual |
◆ getSprite()
◆ setProjection()
virtual void jGL::SpriteRenderer::setProjection |
( |
glm::mat4 |
p | ) |
|
|
inlinevirtual |
◆ MAX_BATCH_BOUND_TEXTURES
const uint8_t jGL::SpriteRenderer::MAX_BATCH_BOUND_TEXTURES = MAX_SPRITE_BATCH_BOUND_TEXTURES |
|
static |
Largest number of concurrent textures bound for one batch.
◆ projection
glm::mat4 jGL::SpriteRenderer::projection = glm::mat4(0.0f) |
|
protected |
◆ shader
std::shared_ptr<Shader> jGL::SpriteRenderer::shader |
|
protected |
The documentation for this class was generated from the following file: