summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCody Glassman <glassmancody.info@gmail.com>2022-01-05 10:43:30 +0000
committerpsi29a <psi29a@gmail.com>2022-01-05 10:43:30 +0000
commita7166aa05ca9b81588a01a37d785c8762da09cb7 (patch)
tree39f4f68ff9b6b177ce227b151019b6732114d9cc
parent0eed275b74e66b1462e64ccbd6722318cf8696e8 (diff)
Use updated resolutions when setting projection matrix
-rw-r--r--apps/openmw/mwrender/renderingmanager.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/apps/openmw/mwrender/renderingmanager.cpp b/apps/openmw/mwrender/renderingmanager.cpp
index 73ee40435e..5ebd95ee44 100644
--- a/apps/openmw/mwrender/renderingmanager.cpp
+++ b/apps/openmw/mwrender/renderingmanager.cpp
@@ -1138,7 +1138,10 @@ namespace MWRender
void RenderingManager::updateProjectionMatrix()
{
- double aspect = mViewer->getCamera()->getViewport()->aspectRatio();
+ double width = Settings::Manager::getInt("resolution x", "Video");
+ double height = Settings::Manager::getInt("resolution y", "Video");
+
+ double aspect = (height == 0.0) ? 1.0 : width / height;
float fov = mFieldOfView;
if (mFieldOfViewOverridden)
fov = mFieldOfViewOverride;
@@ -1155,7 +1158,7 @@ namespace MWRender
mSharedUniformStateUpdater->setNear(mNearClip);
mSharedUniformStateUpdater->setFar(mViewDistance);
- mSharedUniformStateUpdater->setScreenRes(mViewer->getCamera()->getViewport()->width(), mViewer->getCamera()->getViewport()->height());
+ mSharedUniformStateUpdater->setScreenRes(width, height);
// Since our fog is not radial yet, we should take FOV in account, otherwise terrain near viewing distance may disappear.
// Limit FOV here just for sure, otherwise viewing distance can be too high.