]> git.localhorst.tv Git - blank.git/blobdiff - src/graphics/Viewport.hpp
runtime-selectable camera mode
[blank.git] / src / graphics / Viewport.hpp
index a8cb69f0947f70cee14b6fc20df6f544b5114b1b..47302733d1f01c71e34de70ffceddff870f2d624 100644 (file)
@@ -44,11 +44,16 @@ public:
        void Clear() noexcept;
        void ClearDepth() noexcept;
 
-       void SetCursor(const glm::vec3 &);
-       void SetCursor(const glm::vec3 &, Gravity);
-       void MoveCursor(const glm::vec3 &);
+       glm::vec2 GetPosition(const glm::vec2 &off, Gravity grav) const noexcept;
+
+       void SetCursor(const glm::vec3 &) noexcept;
+       void SetCursor(const glm::vec3 &, Gravity) noexcept;
+       void MoveCursor(const glm::vec3 &) noexcept;
        const glm::mat4 &Cursor() const noexcept { return cursor; }
 
+       void OffsetCamera(const glm::vec3 &o) noexcept { cam_offset = o; }
+       const glm::vec3 &CameraOffset() const noexcept { return cam_offset; }
+
        BlockLighting &ChunkProgram() noexcept;
        DirectionalLighting &EntityProgram() noexcept;
        DirectionalLighting &HUDProgram() noexcept;
@@ -68,6 +73,8 @@ private:
 
        glm::mat4 cursor;
 
+       glm::vec3 cam_offset;
+
        BlockLighting chunk_prog;
        DirectionalLighting entity_prog;
        PlainColor color_prog;