Files
Cubed/include/Cubed/render/model_renderer.hpp

25 lines
694 B
C++

#pragma once
#include "Cubed/render/model_node.hpp"
#include "Cubed/shader.hpp"
#include <glm/glm.hpp>
namespace Cubed {
class Renderer;
class Camera;
class ModelRender {
public:
ModelRender(Renderer& renderer);
void render_model(const std::string& name, const glm::vec3& pos,
Camera& camera);
void shadow_pass(const std::string& name, const glm::vec3& pos,
Camera& camera);
private:
Renderer& m_renderer;
void render_node(const ModelNode& node, const glm::mat4& parent,
const glm::mat4& view, const Shader& shader, bool shadow);
void render_mesh(const Mesh& mesh, bool shadow);
};
} // namespace Cubed