#pragma once

#include "client/render/loader/GLLoader.h"
#include <memory>

namespace blitz {

namespace shader {

class EntityShader;

}  // namespace shader


class Client;

namespace render {

class WorldRenderer {
  private:
	Client* m_Client;
	std::unique_ptr<GL::VertexArray> m_Vao;
	std::unique_ptr<shader::EntityShader> m_Shader;

  public:
	WorldRenderer(Client* client);
	~WorldRenderer();

	void Render();
	void Render(const GL::VertexArray& vao);
};

}  // namespace render
}  // namespace blitz
