3#include "structure/geometry/spk_mesh.hpp"
4#include "structure/lumina/spk_pipeline.hpp"
22 template <
typename TMeshType>
34 const Mesh *_mesh =
nullptr;
42 _pipeline(p_pipeline),
43 _object(_pipeline.createObject())
79 _object.setBufferSet(_mesh->bufferSet());
101 if (_mesh->indexes().size() == 0)
106 _mesh->synchronize();
Represents a drawable entity configured with pipeline attributes.
Definition spk_pipeline.hpp:324
Loads shader artifacts and orchestrates draw calls with strongly typed constants and attributes.
Definition spk_pipeline.hpp:38
Lumina::Pipeline::Object & _objectHandle()
Returns the render object handle.
Definition spk_mesh_painter.hpp:51
const Mesh * mesh() const
Returns the currently bound mesh.
Definition spk_mesh_painter.hpp:86
TMeshType Mesh
Mesh type handled by the painter.
Definition spk_mesh_painter.hpp:29
const Lumina::Pipeline::Object & _objectHandle() const
Returns the render object handle.
Definition spk_mesh_painter.hpp:60
virtual void setMesh(const Mesh *p_mesh)
Sets the mesh to render.
Definition spk_mesh_painter.hpp:70
MeshPainter(Lumina::Pipeline &p_pipeline)
Builds a mesh painter bound to a pipeline.
Definition spk_mesh_painter.hpp:41
void render()
Renders the current mesh when available.
Definition spk_mesh_painter.hpp:94