]> git.localhorst.tv Git - blobs.git/blobdiff - src/graphics/Camera.hpp
camera controls
[blobs.git] / src / graphics / Camera.hpp
index f4a98d50cc0eefe80d5294f6f3c0c934c97c0377..163291673a0f6a5a05786309d69eceef73b07bd2 100644 (file)
@@ -1,10 +1,13 @@
 #ifndef BLOBS_GRAPHICS_CAMERA_HPP_
 #define BLOBS_GRAPHICS_CAMERA_HPP_
 
-#include "glm.hpp"
+#include "../math/glm.hpp"
 
 
 namespace blobs {
+namespace creature {
+       class Creature;
+}
 namespace world {
        class Body;
 }
@@ -38,6 +41,10 @@ public:
        Camera &MapView(int surface, const glm::vec3 &pos, float roll = 0.0f) noexcept;
        /// look at center, position relative to orbital reference plane for children
        Camera &Orbital(const glm::vec3 &pos) noexcept;
+       /// look at creature from above
+       Camera &TopDown(const creature::Creature &, double distance, double roll = 0.0f);
+       /// look at creature from the side, angle in euler (ZXY in surface reference plane)
+       Camera &Radial(const creature::Creature &, double distance, const glm::dvec3 &angle);
 
        const glm::mat4 &Projection() const noexcept { return projection; }
        const glm::mat4 &View() const noexcept { return view; }