]> git.localhorst.tv Git - blobs.git/blobdiff - src/graphics/Camera.hpp
better camera behaviour
[blobs.git] / src / graphics / Camera.hpp
index f4a98d50cc0eefe80d5294f6f3c0c934c97c0377..b00d580615558457ef488076a013b8fedf027920 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef BLOBS_GRAPHICS_CAMERA_HPP_
 #define BLOBS_GRAPHICS_CAMERA_HPP_
 
-#include "glm.hpp"
+#include "../math/glm.hpp"
 
 
 namespace blobs {
@@ -31,13 +31,10 @@ public:
        const world::Body &Reference() const noexcept { return *ref; }
        Camera &Reference(const world::Body &) noexcept;
 
-       /// standing on given surface, with pos.z being elevation over NN
-       /// looking at given coordinates
-       Camera &FirstPerson(int surface, const glm::vec3 &pos, const glm::vec3 &at) noexcept;
-       /// looking straight down at surface from above
-       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;
+       Camera &LookAt(const glm::vec3 &pos, const glm::vec3 &tgt, const glm::vec3 &up) noexcept;
+
+       /// track orientation of reference body
+       void TrackOrientation(bool b = true) noexcept { track_orient = b; }
 
        const glm::mat4 &Projection() const noexcept { return projection; }
        const glm::mat4 &View() const noexcept { return view; }