summaryrefslogtreecommitdiff
path: root/gfx/gl
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2021-11-16 00:07:48 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2021-11-16 00:07:48 +0000
commitb7fadd730a78671a0eaf55c36df24c04661ef2c3 (patch)
treea9d5bce62b3c6e42008d7e0f637665aa97b73764 /gfx/gl
parentDon't write null value for pointers (diff)
downloadilt-b7fadd730a78671a0eaf55c36df24c04661ef2c3.tar.bz2
ilt-b7fadd730a78671a0eaf55c36df24c04661ef2c3.tar.xz
ilt-b7fadd730a78671a0eaf55c36df24c04661ef2c3.zip
Swap y,z axis
This was a pain... but all the coords make much more sense now and a lot of mystery negation has disappeared.
Diffstat (limited to 'gfx/gl')
-rw-r--r--gfx/gl/camera.cpp42
-rw-r--r--gfx/gl/camera.h6
-rw-r--r--gfx/gl/shaders/landmassShader.vs2
-rw-r--r--gfx/gl/shaders/waterShader.vs6
4 files changed, 6 insertions, 50 deletions
diff --git a/gfx/gl/camera.cpp b/gfx/gl/camera.cpp
index c98ff70..c957b2c 100644
--- a/gfx/gl/camera.cpp
+++ b/gfx/gl/camera.cpp
@@ -1,9 +1,9 @@
#include "camera.h"
#include <glm/gtx/transform.hpp>
+#include <maths.h>
Camera::Camera(glm::vec3 pos, float fov, float aspect, float zNear, float zFar) :
- pos {pos}, forward {0.0F, 0.0F, 1.0F}, up {0.0F, 1.0F, 0.0F}, projection {
- glm::perspective(fov, aspect, zNear, zFar)}
+ pos {pos}, forward {::north}, up {::up}, projection {glm::perspective(fov, aspect, zNear, zFar)}
{
}
@@ -12,41 +12,3 @@ Camera::GetViewProjection() const
{
return projection * glm::lookAt(pos, pos + forward, up);
}
-
-void
-Camera::MoveForward(float amt)
-{
- pos += forward * amt;
-}
-
-void
-Camera::SlideForward(float amt)
-{
- pos += forward * amt * glm::vec3 {1, 0, 1};
-}
-
-void
-Camera::MoveRight(float amt)
-{
- pos += glm::cross(up, forward) * amt;
-}
-
-void
-Camera::Pitch(float angle)
-{
- const auto right = glm::normalize(glm::cross(up, forward));
-
- forward = glm::vec3(glm::normalize(glm::rotate(angle, right) * glm::vec4(forward, 0.0)));
- up = glm::normalize(glm::cross(forward, right));
-}
-
-void
-Camera::RotateY(float angle)
-{
- static constexpr glm::vec3 UP {0.0F, 1.0F, 0.0F};
-
- const auto rotation = glm::rotate(angle, UP);
-
- forward = glm::vec3(glm::normalize(rotation * glm::vec4(forward, 0.0)));
- up = glm::vec3(glm::normalize(rotation * glm::vec4(up, 0.0)));
-}
diff --git a/gfx/gl/camera.h b/gfx/gl/camera.h
index 3d8ece4..72f699d 100644
--- a/gfx/gl/camera.h
+++ b/gfx/gl/camera.h
@@ -9,12 +9,6 @@ public:
[[nodiscard]] glm::mat4 GetViewProjection() const;
- void MoveForward(float amt);
- void SlideForward(float amt);
- void MoveRight(float amt);
- void Pitch(float angle);
- void RotateY(float angle);
-
glm::vec3 pos;
glm::vec3 forward;
glm::vec3 up;
diff --git a/gfx/gl/shaders/landmassShader.vs b/gfx/gl/shaders/landmassShader.vs
index 44eed39..94d819d 100644
--- a/gfx/gl/shaders/landmassShader.vs
+++ b/gfx/gl/shaders/landmassShader.vs
@@ -15,5 +15,5 @@ void main()
gl_Position = viewProjection * vec4(position, 1.0);
texCoord0 = texCoord;
normal0 = normal;
- height = position.y;
+ height = position.z;
}
diff --git a/gfx/gl/shaders/waterShader.vs b/gfx/gl/shaders/waterShader.vs
index 7a641b0..2bcedb4 100644
--- a/gfx/gl/shaders/waterShader.vs
+++ b/gfx/gl/shaders/waterShader.vs
@@ -14,9 +14,9 @@ void main()
{
vec3 wpos = vec3(
position.x + cos(waves.x),
- cos(waves.x + position.x + (position.z / 8)) * .3,
- position.z + cos(waves.x * waves.z / 2));
+ position.y + cos(waves.x * waves.y / 2),
+ cos(waves.x + position.x + (position.y / 8)) * .3);
gl_Position = viewProjection * vec4(wpos, 1.0);
texCoord0 = texCoord;
- depth = position.y;
+ depth = position.z;
}