environment.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "environment.h"
  2. #include "../../render/gl/camera.h"
  3. #include "../../render/scene_renderer.h"
  4. #include "../game_config.h"
  5. #include "map/map_definition.h"
  6. #include <algorithm>
  7. namespace Game::Map {
  8. void Environment::apply(const MapDefinition &def,
  9. Render::GL::Renderer &renderer,
  10. Render::GL::Camera &camera) {
  11. camera.set_rts_view(def.camera.center, def.camera.distance,
  12. def.camera.tiltDeg, def.camera.yaw_deg);
  13. camera.set_perspective(def.camera.fovY, 16.0F / 9.0F, def.camera.near_plane,
  14. def.camera.far_plane);
  15. Render::GL::Renderer::GridParams gp;
  16. gp.cell_size = def.grid.tile_size;
  17. gp.extent =
  18. std::max(def.grid.width, def.grid.height) * def.grid.tile_size * 0.5F;
  19. renderer.set_grid_params(gp);
  20. }
  21. void Environment::applyDefault(Render::GL::Renderer &renderer,
  22. Render::GL::Camera &camera) {
  23. const auto &camera_config = Game::GameConfig::instance().camera();
  24. camera.set_rts_view(QVector3D(0, 0, 0), 15.0F, camera_config.default_pitch,
  25. camera_config.default_yaw);
  26. camera.set_perspective(45.0F, 16.0F / 9.0F, 1.0F, 200.0F);
  27. Render::GL::Renderer::GridParams gp;
  28. gp.cell_size = 1.0F;
  29. gp.extent = 50.0F;
  30. renderer.set_grid_params(gp);
  31. }
  32. } // namespace Game::Map