and again

This commit is contained in:
2025-07-18 18:56:49 +02:00
parent 6d0e56eb46
commit 090ea962d3
19 changed files with 115 additions and 186 deletions

View File

@@ -10,7 +10,8 @@ namespace render {
class BasicRenderer {
public:
virtual void Render() = 0;
virtual void Render(float a_Lerp) = 0;
virtual ~BasicRenderer() {}
void Render(const GL::VertexArray& a_Vao);
};
@@ -24,6 +25,11 @@ class Renderer : public BasicRenderer {
public:
Renderer(Camera& a_Camera);
virtual ~Renderer() {}
template <typename T>
float Lerp(const T& a_Mob, float a_LerpFactor, const std::function<float(const T&)>& a_MemberGetter) {
return static_cast<float>(maths::Lerp(a_MemberGetter(a_Mob), a_MemberGetter(*a_Mob.m_Next), a_LerpFactor));
}
};
class RenderPipeline {
@@ -32,7 +38,7 @@ class RenderPipeline {
public:
RenderPipeline();
~RenderPipeline() = default;
virtual ~RenderPipeline() {}
template <typename T, typename... Args>
void AddRenderer(Args&&... args) {
@@ -43,9 +49,9 @@ class RenderPipeline {
m_Renderers.clear();
}
void Render() {
void Render(float a_Lerp) {
for (auto& renderer : m_Renderers) {
renderer->Render();
renderer->Render(a_Lerp);
}
}
};