diff options
author | rtk0c <[email protected]> | 2022-05-08 00:50:52 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2022-05-08 00:50:52 -0700 |
commit | a4ccb12fb3062e446d5b6a1dfd6fa91ae1c2fa5f (patch) | |
tree | f2765c869af4f37106a0f5ebc530ea7448655a0c /source/Camera.cpp | |
parent | daca3ada37d885b197d6fa810b6b793f18f8068e (diff) |
Changeset: 29 Redefine world coordinate to have units in meters
Diffstat (limited to 'source/Camera.cpp')
-rw-r--r-- | source/Camera.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/source/Camera.cpp b/source/Camera.cpp index 9041d80..c634ded 100644 --- a/source/Camera.cpp +++ b/source/Camera.cpp @@ -6,8 +6,10 @@ Camera::Camera() : eye(0.0f, 0.0f, 0.0f) - , target(0.0, 0.0f, -1.0f) - , perspective{ false } { + , target(0.0, 0.0f, -2.0f) + , pixelsPerMeter{ 50.0f } // Basic default + , perspective{ false } // +{ } void Camera::SetEyePos(glm::vec3 pos) { @@ -36,10 +38,12 @@ glm::mat4 Camera::CalcProjectionMatrix() const { if (perspective) { return glm::perspective(90.0f, AppConfig::mainWindowAspectRatio, 0.1f, 1000.0f); } else { + float widthMeters = AppConfig::mainWindowWidth / pixelsPerMeter; + float heightMeters = AppConfig::mainWindowHeight / pixelsPerMeter; return glm::ortho( - eye.x - AppConfig::mainWidnowWidth / 2, - eye.x + AppConfig::mainWidnowWidth / 2, - eye.y - AppConfig::mainWindowHeight / 2, - eye.y + AppConfig::mainWindowHeight / 2); + eye.x - widthMeters / 2, + eye.x + widthMeters / 2, + eye.y - heightMeters / 2, + eye.y + heightMeters / 2); } } |