ColorRace/engine/src/renderer/RenderQueue.h
2026-08-04 17:01:36 +02:00

44 lines
867 B
C++

//
// Created by sebastian on 29.07.26.
//
#ifndef COLORRACE_RENDERQUEUE_H
#define COLORRACE_RENDERQUEUE_H
#include <iostream>
#include <memory>
#include <ostream>
#include "glm/glm.hpp"
#include "loader/models/Model.h"
namespace engine {
struct RenderCommand {
std::shared_ptr<engine::Model> mesh;
glm::mat4 transformationMatrix;
glm::vec3 tintColor{0.0};
float tintIntensity{0.f};
};
class RenderQueue {
public:
void submit(RenderCommand cmd) {
m_renderCommands.push_back(std::move(cmd));
}
[[nodiscard]] const auto& getRenderCommands() const {
return m_renderCommands;
}
void clear() {
m_renderCommands.clear();
}
private:
std::vector<RenderCommand> m_renderCommands;
};
}
#endif //COLORRACE_RENDERQUEUE_H