X-Git-Url: http://git.localhorst.tv/?p=blobs.git;a=blobdiff_plain;f=src%2Fgraphics%2FCamera.hpp;h=b00d580615558457ef488076a013b8fedf027920;hp=e4c0b7fce04ddc37841a78ab57f6d667140ddc84;hb=7a0da3422f7c9b81ae529a7554f6d16e85f05e1d;hpb=ae4f59520574caf5054d4a19cd76fa86c4a97264 diff --git a/src/graphics/Camera.hpp b/src/graphics/Camera.hpp index e4c0b7f..b00d580 100644 --- a/src/graphics/Camera.hpp +++ b/src/graphics/Camera.hpp @@ -5,9 +5,6 @@ namespace blobs { -namespace creature { - class Creature; -} namespace world { class Body; } @@ -34,10 +31,10 @@ public: const world::Body &Reference() const noexcept { return *ref; } Camera &Reference(const world::Body &) noexcept; - /// look at center, position relative to orbital reference plane for children - Camera &Orbital(const glm::vec3 &pos) noexcept; - /// 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); + 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; }