diff --git a/include/components/batch.h b/include/components/batch.h new file mode 100644 index 0000000..55f11a6 --- /dev/null +++ b/include/components/batch.h @@ -0,0 +1,27 @@ +#ifndef COMPONENT_BATCH_H_ +#define COMPONENT_BATCH_H_ + +#include "renderer/renderer.h" + +// requires mesh component +struct batch { + friend class Renderer; +public: + // requires transform component + struct item { + unsigned int batchId; + }; + + batch(); + + inline const unsigned int id() const { return m_id; } +protected: + static unsigned int LastID; +private: + unsigned int m_id; + unsigned int m_instance_vbo { 0 }; +private: + void prepare(glm::mat4 *instances, unsigned int count); +}; + +#endif // COMPONENT_BATCH_H_ \ No newline at end of file