bridge_renderer.h 672 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "../../game/map/terrain.h"
  3. #include "../i_render_pass.h"
  4. #include <QMatrix4x4>
  5. #include <memory>
  6. #include <vector>
  7. namespace Render::GL {
  8. class Mesh;
  9. class Renderer;
  10. class ResourceManager;
  11. class BridgeRenderer : public IRenderPass {
  12. public:
  13. BridgeRenderer();
  14. ~BridgeRenderer() override;
  15. void configure(const std::vector<Game::Map::Bridge> &bridges,
  16. float tile_size);
  17. void submit(Renderer &renderer, ResourceManager *resources) override;
  18. private:
  19. void build_meshes();
  20. std::vector<Game::Map::Bridge> m_bridges;
  21. float m_tile_size = 1.0F;
  22. std::vector<std::unique_ptr<Mesh>> m_meshes;
  23. };
  24. } // namespace Render::GL