]> git.localhorst.tv Git - blank.git/blobdiff - src/graphics/viewport.cpp
rate network conditions
[blank.git] / src / graphics / viewport.cpp
index e1719668eab185b4bf27b200de5d8d45d5a99f08..9abe48f248261f81e8999a82eff70bc4a87a0010 100644 (file)
@@ -165,20 +165,24 @@ void Viewport::ClearDepth() noexcept {
 }
 
 
-void Viewport::SetCursor(const glm::vec3 &pos) {
+glm::vec2 Viewport::GetPosition(const glm::vec2 &off, Gravity grav) const noexcept {
+       return align(grav, canv.Size(), off + canv.Offset());
+}
+
+void Viewport::SetCursor(const glm::vec3 &pos) noexcept {
        cursor[3].x = pos.x;
        cursor[3].y = pos.y;
        cursor[3].z = pos.z;
 }
 
-void Viewport::SetCursor(const glm::vec3 &pos, Gravity grav) {
-       glm::vec2 p(align(grav, canv.Size(), glm::vec2(pos) + canv.Offset()));
+void Viewport::SetCursor(const glm::vec3 &pos, Gravity grav) noexcept {
+       glm::vec2 p(GetPosition(glm::vec2(pos), grav));
        cursor[3].x = p.x;
        cursor[3].y = p.y;
        cursor[3].z = pos.z;
 }
 
-void Viewport::MoveCursor(const glm::vec3 &d) {
+void Viewport::MoveCursor(const glm::vec3 &d) noexcept {
        cursor[3].x += d.x;
        cursor[3].y += d.y;
        cursor[3].z += d.z;
@@ -219,22 +223,22 @@ DirectionalLighting &Viewport::HUDProgram() noexcept {
        return entity_prog;
 }
 
-PlainColor &Viewport::WorldOutlineProgram() noexcept {
-       if (active_prog != OUTLINE_WORLD) {
-               outline_prog.Activate();
-               outline_prog.SetVP(cam.View(), cam.Projection());
-               active_prog = OUTLINE_WORLD;
+PlainColor &Viewport::WorldColorProgram() noexcept {
+       if (active_prog != COLOR_WORLD) {
+               color_prog.Activate();
+               color_prog.SetVP(cam.View(), cam.Projection());
+               active_prog = COLOR_WORLD;
        }
-       return outline_prog;
+       return color_prog;
 }
 
-PlainColor &Viewport::HUDOutlineProgram() noexcept {
-       if (active_prog != OUTLINE_HUD) {
-               outline_prog.Activate();
-               outline_prog.SetVP(canv.View(), canv.Projection());
-               active_prog = OUTLINE_HUD;
+PlainColor &Viewport::HUDColorProgram() noexcept {
+       if (active_prog != COLOR_HUD) {
+               color_prog.Activate();
+               color_prog.SetVP(canv.View(), canv.Projection());
+               active_prog = COLOR_HUD;
        }
-       return outline_prog;
+       return color_prog;
 }
 
 SkyBoxShader &Viewport::SkyBoxProgram() noexcept {