jGL
|
OpenGL implementation of ShapeRenderer. More...
#include <glShapeRenderer.h>
Public Member Functions | |
glShapeRenderer (size_t sizeHint=8) | |
Construct a new glShapeRenderer. | |
~glShapeRenderer () | |
![]() | |
ShapeRenderer (size_t sizeHint=8) | |
Construct a new ShapeRenderer. | |
ShapeRenderer (std::shared_ptr< Shader > shader, size_t sizeHint=8) | |
Construct a new ShapeRenderer. | |
Shape & | getShape (ShapeId id) |
const Transform * | getTransform (ShapeId id) |
const glm::vec4 * | getColour (ShapeId id) |
virtual void | draw (std::shared_ptr< Shader > shader, std::multimap< RenderPriority, ShapeId > &ids, UpdateInfo info=UpdateInfo()) |
Draw with overriding render priority and shader. | |
virtual void | draw (std::multimap< RenderPriority, ShapeId > &ids, UpdateInfo info=UpdateInfo()) |
Draw with overriding render priority. | |
virtual void | draw (std::shared_ptr< Shader > shader, UpdateInfo info=UpdateInfo()) |
Draw with overriding shader and cached priorities. | |
virtual void | draw (UpdateInfo info=UpdateInfo()) |
Draw with default shader and cached priorities. | |
bool | hasId (const ShapeId id) const |
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 (Shape 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, Shape > > | vectorise (std::multimap< Priority, ElementId > &oids) |
Return a vector from overriding priorities. | |
Shape & | operator[] (ElementId id) |
std::vector< std::pair< Info, Shape > >::const_iterator | begin () const |
std::vector< std::pair< Info, Shape > >::const_iterator | end () const |
uint64_t | size () const |
bool | hasId (const ElementId id) const |
Static Public Attributes | |
static const char * | shapeVertexShader |
A vertex shader for any default shapes. | |
static const char * | rectangleFragmentShader |
A fragment shader to draw rectangles. | |
static const char * | ellipseFragmentShader |
A fragment shader to draw ellipses. | |
Additional Inherited Members | |
![]() | |
std::shared_ptr< Shader > | shader |
glm::mat4 | projection = glm::mat4(0.0f) |
![]() | |
std::unordered_map< ElementId, std::pair< Shape, Priority > > | idToElement |
std::vector< std::pair< Info, Shape > > | cache |
OpenGL implementation of ShapeRenderer.
|
inline |
Construct a new glShapeRenderer.
sizeHint | hint at the number of shapes. |
|
inline |
|
static |
A fragment shader to draw ellipses.
|
static |
A fragment shader to draw rectangles.
|
static |
A vertex shader for any default shapes.