aboutsummaryrefslogtreecommitdiff
path: root/source/Camera.cpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2022-05-08 00:50:52 -0700
committerrtk0c <[email protected]>2022-05-08 00:50:52 -0700
commita4ccb12fb3062e446d5b6a1dfd6fa91ae1c2fa5f (patch)
treef2765c869af4f37106a0f5ebc530ea7448655a0c /source/Camera.cpp
parentdaca3ada37d885b197d6fa810b6b793f18f8068e (diff)
Changeset: 29 Redefine world coordinate to have units in meters
Diffstat (limited to 'source/Camera.cpp')
-rw-r--r--source/Camera.cpp16
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);
}
}