// // Created by sebastian on 29.07.26. // #ifndef COLORRACE_RENDERQUEUE_H #define COLORRACE_RENDERQUEUE_H #include #include #include #include "glm/glm.hpp" #include "loader/models/Model.h" namespace engine { struct RenderCommand { std::shared_ptr 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 m_renderCommands; }; } #endif //COLORRACE_RENDERQUEUE_H