jGL
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
jGL::Vulkan::vkShapeRenderer Class Reference

#include <vkShapeRenderer.h>

Inheritance diagram for jGL::Vulkan::vkShapeRenderer:
Inheritance graph
[legend]
Collaboration diagram for jGL::Vulkan::vkShapeRenderer:
Collaboration graph
[legend]

Public Member Functions

 vkShapeRenderer (size_t sizeHint)
 
- Public Member Functions inherited from jGL::ShapeRenderer
 ShapeRenderer (size_t sizeHint=8)
 Construct a new ShapeRenderer.
 
 ShapeRenderer (std::shared_ptr< Shader > shader, size_t sizeHint=8)
 Construct a new ShapeRenderer.
 
ShapegetShape (ShapeId id)
 
const TransformgetTransform (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)
 
- Public Member Functions inherited from PriorityStore< Shape >
 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
 

Protected Member Functions

void draw (std::shared_ptr< Shader > shader, std::vector< std::pair< Info, Shape > > &shapes, UpdateInfo info=UpdateInfo())
 

Additional Inherited Members

- Protected Attributes inherited from jGL::ShapeRenderer
std::shared_ptr< Shadershader
 
glm::mat4 projection = glm::mat4(0.0f)
 
- Protected Attributes inherited from PriorityStore< Shape >
std::unordered_map< ElementId, std::pair< Shape, Priority > > idToElement
 
std::vector< std::pair< Info, Shape > > cache
 

Constructor & Destructor Documentation

◆ vkShapeRenderer()

jGL::Vulkan::vkShapeRenderer::vkShapeRenderer ( size_t  sizeHint)
inline

Member Function Documentation

◆ draw()

void jGL::Vulkan::vkShapeRenderer::draw ( std::shared_ptr< Shader shader,
std::vector< std::pair< Info, Shape > > &  shapes,
UpdateInfo  info = UpdateInfo() 
)
inlineprotectedvirtual

Implements jGL::ShapeRenderer.


The documentation for this class was generated from the following file: