X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fgraphics%2FCamera.hpp;h=e4c0b7fce04ddc37841a78ab57f6d667140ddc84;hb=cd80d7cfcac3c58d601db2ab4e0381dd77c06f44;hp=51dd8f15c447e1a67731b816b78f7211f251179d;hpb=8f6530c75730f901efd6708e4fde7e68a178adf1;p=blobs.git diff --git a/src/graphics/Camera.hpp b/src/graphics/Camera.hpp index 51dd8f1..e4c0b7f 100644 --- a/src/graphics/Camera.hpp +++ b/src/graphics/Camera.hpp @@ -5,6 +5,9 @@ namespace blobs { +namespace creature { + class Creature; +} namespace world { class Body; } @@ -31,13 +34,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; + /// 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; }