X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fgraphics%2FViewport.hpp;h=69c66a7310ca5f04878a59cdcadbf01e6a854494;hb=HEAD;hp=03e0e0d05c247420387bdc5fc1c851a71b3f992b;hpb=8ab4ea13545cccbacbd1ed610968d3f481c1b3c8;p=blank.git diff --git a/src/graphics/Viewport.hpp b/src/graphics/Viewport.hpp index 03e0e0d..69c66a7 100644 --- a/src/graphics/Viewport.hpp +++ b/src/graphics/Viewport.hpp @@ -7,11 +7,10 @@ #include "Camera.hpp" #include "Canvas.hpp" #include "DirectionalLighting.hpp" +#include "glm.hpp" #include "PlainColor.hpp" #include "SkyBoxShader.hpp" -#include - 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;