]> git.localhorst.tv Git - blank.git/blobdiff - src/graphics/Viewport.hpp
glm backwards compatibility
[blank.git] / src / graphics / Viewport.hpp
index 03e0e0d05c247420387bdc5fc1c851a71b3f992b..69c66a7310ca5f04878a59cdcadbf01e6a854494 100644 (file)
@@ -7,11 +7,10 @@
 #include "Camera.hpp"
 #include "Canvas.hpp"
 #include "DirectionalLighting.hpp"
+#include "glm.hpp"
 #include "PlainColor.hpp"
 #include "SkyBoxShader.hpp"
 
-#include <glm/glm.hpp>
-
 
 namespace blank {
 
@@ -23,7 +22,7 @@ public:
        Viewport(const Viewport &) = delete;
        Viewport &operator =(const Viewport &) = delete;
 
-       void VSync(bool b) noexcept;
+       void VSync(bool b);
 
        void EnableDepthTest() noexcept;
        void EqualDepthTest() noexcept;
@@ -44,16 +43,21 @@ 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;
-       PlainColor &WorldOutlineProgram() noexcept;
-       PlainColor &HUDOutlineProgram() noexcept;
+       PlainColor &WorldColorProgram() noexcept;
+       PlainColor &HUDColorProgram() noexcept;
        SkyBoxShader &SkyBoxProgram() noexcept;
        BlendedSprite &SpriteProgram() noexcept;
 
@@ -68,9 +72,11 @@ private:
 
        glm::mat4 cursor;
 
+       glm::vec3 cam_offset;
+
        BlockLighting chunk_prog;
        DirectionalLighting entity_prog;
-       PlainColor outline_prog;
+       PlainColor color_prog;
        SkyBoxShader sky_prog;
        BlendedSprite sprite_prog;
 
@@ -79,8 +85,8 @@ private:
                CHUNK,
                ENTITY,
                HUD,
-               OUTLINE_WORLD,
-               OUTLINE_HUD,
+               COLOR_WORLD,
+               COLOR_HUD,
                SKY_BOX,
                SPRITE,
        } active_prog;