charcoal/OpenGLEngine/Batch.h

20 lines
491 B
C++

#pragma once
#include <vector>
#include "ShaderProgram.h"
#include "Renderable.h"
template <typename VertexType, typename IndexType>
class Batch
{
public:
Batch(ShaderProgram* p_shader_program, const std::vector<Renderable<VertexType, IndexType>*>& p_renderables);
virtual void init() = 0; // Maybe make this automatic? Or in the constructor?
virtual void render() = 0;
private:
ShaderProgram* m_p_shader_program;
std::vector<Renderable<VertexType, IndexType>*> m_p_renderables;
};