projectile_renderer.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include <QMatrix4x4>
  3. #include <QVector3D>
  4. namespace Render {
  5. namespace GL {
  6. class Renderer;
  7. class ResourceManager;
  8. } // namespace GL
  9. } // namespace Render
  10. namespace Game::Systems {
  11. class ProjectileSystem;
  12. class Projectile;
  13. class ArrowProjectile;
  14. class StoneProjectile;
  15. } // namespace Game::Systems
  16. namespace Render::GL {
  17. void render_projectiles(
  18. Renderer *renderer, ResourceManager *resources,
  19. const Game::Systems::ProjectileSystem &projectile_system);
  20. void render_arrow_projectile(Renderer *renderer, ResourceManager *resources,
  21. const Game::Systems::ArrowProjectile &arrow,
  22. const QVector3D &pos,
  23. const QMatrix4x4 &base_model);
  24. void render_stone_projectile(Renderer *renderer, ResourceManager *resources,
  25. const Game::Systems::StoneProjectile &stone,
  26. const QVector3D &pos,
  27. const QMatrix4x4 &base_model);
  28. } // namespace Render::GL