diff options
author | Dan Goodliffe <dan.goodliffe@octal.co.uk> | 2022-12-13 12:07:40 +0000 |
---|---|---|
committer | Dan Goodliffe <dan.goodliffe@octal.co.uk> | 2022-12-13 12:07:40 +0000 |
commit | 6bff7aeb8e613b30323bc973f0506531e148ade3 (patch) | |
tree | 2aed6f9218a38e5bb271b257319e6acc2325de1a /gfx/gl | |
parent | Cache unView matrix for unprojecting mouse clicks, update only on camera move... (diff) | |
download | ilt-6bff7aeb8e613b30323bc973f0506531e148ade3.tar.bz2 ilt-6bff7aeb8e613b30323bc973f0506531e148ade3.tar.xz ilt-6bff7aeb8e613b30323bc973f0506531e148ade3.zip |
Maintain a camera's inverse view projection matrix
Diffstat (limited to 'gfx/gl')
-rw-r--r-- | gfx/gl/camera.cpp | 1 | ||||
-rw-r--r-- | gfx/gl/camera.h | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/gfx/gl/camera.cpp b/gfx/gl/camera.cpp index 72b5240..fadbfd7 100644 --- a/gfx/gl/camera.cpp +++ b/gfx/gl/camera.cpp @@ -23,4 +23,5 @@ Camera::updateView() view = glm::lookAt(position, position + forward, up); unView = glm::lookAt(::origin, forward, up); viewProjection = projection * view; + inverseViewProjection = glm::inverse(viewProjection); } diff --git a/gfx/gl/camera.h b/gfx/gl/camera.h index bcc7469..3182969 100644 --- a/gfx/gl/camera.h +++ b/gfx/gl/camera.h @@ -61,5 +61,5 @@ private: float fov, aspect, near, far;
glm::mat4 projection;
glm::mat4 view, unView;
- glm::mat4 viewProjection;
+ glm::mat4 viewProjection, inverseViewProjection;
};
|