charcoal/CharcoalBuiltin/Batched.h
elipzer 5db5ce971c Probably BREAKING - Moved everything into proper directories
Also added a copy pre-build even for .h files into the include
directory for charcoal and charcoal-builtin
2018-10-10 23:56:39 -04:00

29 lines
696 B
C++

#pragma once
#include <list>
namespace charcoal
{
namespace builtin
{
template <typename RenderableType, typename BatchType>
class Batched
{
protected:
BatchType& add_batch(RenderableType* renderable, int element_count)
{
return add_batch(renderable, element_count, element_count);
}
BatchType& add_batch(RenderableType* renderable, int element_count, int element_render_count)
{
m_batches.emplace_back(renderable, element_count, element_render_count);
return m_batches.back();
}
// Since the intention is to access the batches through the returned references,
// it is better to store them in a list.
std::list<BatchType> m_batches;
};
}
}