diff options
-rw-r--r-- | src/camera.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/camera.cpp b/src/camera.cpp index 0148298cb..ba05329e5 100644 --- a/src/camera.cpp +++ b/src/camera.cpp @@ -290,6 +290,9 @@ void Camera::update(LocalPlayer* player, f32 frametime, v2u32 screensize, // FOV and aspect ratio m_aspect = (f32)screensize.X / (f32) screensize.Y; m_fov_y = fov_degrees * PI / 180.0; + // Increase vertical FOV on lower aspect ratios (<16:10) + m_fov_y *= MYMAX(1.0, MYMIN(1.4, sqrt(16./10. / m_aspect))); + // WTF is this? It can't be right m_fov_x = 2 * atan(0.5 * m_aspect * tan(m_fov_y)); m_cameranode->setAspectRatio(m_aspect); m_cameranode->setFOV(m_fov_y); |