Merge pull request #14100 from AndrewGDX/master

Improved stereoscopic 3D settings
This commit is contained in:
Jordan Woyak
2025-11-12 16:43:21 -06:00
committed by GitHub
12 changed files with 96 additions and 47 deletions
@@ -54,8 +54,7 @@ void GeometryShaderManager::SetConstants(PrimitiveType prim)
if (xfmem.projection.type == ProjectionType::Perspective)
{
float offset = (g_ActiveConfig.iStereoDepth / 1000.0f) *
(g_ActiveConfig.iStereoDepthPercentage / 100.0f);
const float offset = g_ActiveConfig.stereo_depth;
constants.stereoparams[0] = g_ActiveConfig.bStereoSwapEyes ? offset : -offset;
constants.stereoparams[1] = g_ActiveConfig.bStereoSwapEyes ? -offset : offset;
}
@@ -64,8 +63,7 @@ void GeometryShaderManager::SetConstants(PrimitiveType prim)
constants.stereoparams[0] = constants.stereoparams[1] = 0;
}
constants.stereoparams[2] = (float)(g_ActiveConfig.iStereoConvergence *
(g_ActiveConfig.iStereoConvergencePercentage / 100.0f));
constants.stereoparams[2] = g_ActiveConfig.stereo_convergence;
dirty = true;
}
+4 -4
View File
@@ -162,12 +162,12 @@ void VideoConfig::Refresh()
stereo_mode = Config::Get(Config::GFX_STEREO_MODE);
stereo_per_eye_resolution_full = Config::Get(Config::GFX_STEREO_PER_EYE_RESOLUTION_FULL);
iStereoDepth = Config::Get(Config::GFX_STEREO_DEPTH);
iStereoConvergencePercentage = Config::Get(Config::GFX_STEREO_CONVERGENCE_PERCENTAGE);
stereo_depth = Config::Get(Config::GFX_STEREO_DEPTH) *
Config::Get(Config::GFX_STEREO_DEPTH_PERCENTAGE) * 0.00001f;
stereo_convergence = Config::Get(Config::GFX_STEREO_CONVERGENCE) *
Config::Get(Config::GFX_STEREO_CONVERGENCE_PERCENTAGE) * 0.01f;
bStereoSwapEyes = Config::Get(Config::GFX_STEREO_SWAP_EYES);
iStereoConvergence = Config::Get(Config::GFX_STEREO_CONVERGENCE);
bStereoEFBMonoDepth = Config::Get(Config::GFX_STEREO_EFB_MONO_DEPTH);
iStereoDepthPercentage = Config::Get(Config::GFX_STEREO_DEPTH_PERCENTAGE);
bEFBAccessEnable = Config::Get(Config::GFX_HACK_EFB_ACCESS_ENABLE);
bEFBAccessDeferInvalidation = Config::Get(Config::GFX_HACK_EFB_DEFER_INVALIDATION);
+2 -4
View File
@@ -310,12 +310,10 @@ struct VideoConfig final
// Stereoscopy
StereoMode stereo_mode{};
bool stereo_per_eye_resolution_full = false;
int iStereoDepth = 0;
int iStereoConvergence = 0;
int iStereoConvergencePercentage = 0;
float stereo_depth = 0;
float stereo_convergence = 0;
bool bStereoSwapEyes = false;
bool bStereoEFBMonoDepth = false;
int iStereoDepthPercentage = 0;
// D3D only config, mostly to be merged into the above
int iAdapter = 0;