18 lines
333 B
C
18 lines
333 B
C
|
#pragma once
|
||
|
|
||
|
#include <vector>
|
||
|
|
||
|
namespace charcoal
|
||
|
{
|
||
|
template <typename ShaderProgramType, typename BatchType>
|
||
|
class Pipeline
|
||
|
{
|
||
|
public:
|
||
|
void add_batch(BatchType* batch) { m_batches.emplace_back(batch); }
|
||
|
|
||
|
virtual void render() = 0;
|
||
|
protected:
|
||
|
ShaderProgramType m_shader_program;
|
||
|
std::vector<BatchType*> m_batches;
|
||
|
};
|
||
|
}
|