summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpsi29a <psi29a@gmail.com>2022-01-05 10:43:30 +0000
committerpsi29a <psi29a@gmail.com>2022-01-05 10:43:30 +0000
commite0612db01cffc7fd84597397ca70cabf734e3bd0 (patch)
treee5f16c1e2baceaf829a65ba38f522d4f83db3596
parent24b9c91ef83c4ae568d3842dbd756ad584907cbc (diff)
parenta7166aa05ca9b81588a01a37d785c8762da09cb7 (diff)
Merge branch 'viewport_update' into 'master'
Use updated resolutions when setting projection matrix See merge request OpenMW/openmw!1533
-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.