From b005f61a2e8e34e9de10183d1fe6f873f7dd9133 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Thu, 16 Oct 2014 18:52:32 +0200 Subject: Add geometry shader generator for stereo 3D. --- Source/Core/VideoCommon/VideoConfig.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index df72df9be2..5546fd2ce0 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -66,9 +66,9 @@ void VideoConfig::Load(const std::string& ini_file) settings->Get("DumpEFBTarget", &bDumpEFBTarget, 0); settings->Get("FreeLook", &bFreeLook, 0); settings->Get("UseFFV1", &bUseFFV1, 0); - settings->Get("AnaglyphStereo", &bAnaglyphStereo, false); - settings->Get("AnaglyphStereoSeparation", &iAnaglyphStereoSeparation, 200); - settings->Get("AnaglyphFocalAngle", &iAnaglyphFocalAngle, 0); + settings->Get("Stereo", &bStereo, false); + settings->Get("StereoSeparation", &iStereoSeparation, 200); + settings->Get("StereoFocalAngle", &iStereoFocalAngle, 0); settings->Get("EnablePixelLighting", &bEnablePixelLighting, 0); settings->Get("FastDepthCalc", &bFastDepthCalc, true); settings->Get("MSAA", &iMultisampleMode, 0); @@ -140,9 +140,9 @@ void VideoConfig::GameIniLoad() CHECK_SETTING("Video_Settings", "UseRealXFB", bUseRealXFB); CHECK_SETTING("Video_Settings", "SafeTextureCacheColorSamples", iSafeTextureCache_ColorSamples); CHECK_SETTING("Video_Settings", "HiresTextures", bHiresTextures); - CHECK_SETTING("Video_Settings", "AnaglyphStereo", bAnaglyphStereo); - CHECK_SETTING("Video_Settings", "AnaglyphStereoSeparation", iAnaglyphStereoSeparation); - CHECK_SETTING("Video_Settings", "AnaglyphFocalAngle", iAnaglyphFocalAngle); + CHECK_SETTING("Video_Settings", "Stereo", bStereo); + CHECK_SETTING("Video_Settings", "StereoSeparation", iStereoSeparation); + CHECK_SETTING("Video_Settings", "StereoFocalAngle", iStereoFocalAngle); CHECK_SETTING("Video_Settings", "EnablePixelLighting", bEnablePixelLighting); CHECK_SETTING("Video_Settings", "FastDepthCalc", bFastDepthCalc); CHECK_SETTING("Video_Settings", "MSAA", iMultisampleMode); @@ -230,9 +230,9 @@ void VideoConfig::Save(const std::string& ini_file) settings->Set("DumpEFBTarget", bDumpEFBTarget); settings->Set("FreeLook", bFreeLook); settings->Set("UseFFV1", bUseFFV1); - settings->Set("AnaglyphStereo", bAnaglyphStereo); - settings->Set("AnaglyphStereoSeparation", iAnaglyphStereoSeparation); - settings->Set("AnaglyphFocalAngle", iAnaglyphFocalAngle); + settings->Set("Stereo", bStereo); + settings->Set("StereoSeparation", iStereoSeparation); + settings->Set("StereoFocalAngle", iStereoFocalAngle); settings->Set("EnablePixelLighting", bEnablePixelLighting); settings->Set("FastDepthCalc", bFastDepthCalc); settings->Set("ShowEFBCopyRegions", bShowEFBCopyRegions); -- cgit v1.2.3 From f6ea293027e553cf89f780ec2a1b716cc026a4b5 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Sun, 26 Oct 2014 19:17:00 +0100 Subject: VertexShaderManager: Compute stereoscopy projection matrices. --- Source/Core/VideoCommon/VideoConfig.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 5546fd2ce0..9962160486 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -67,8 +67,8 @@ void VideoConfig::Load(const std::string& ini_file) settings->Get("FreeLook", &bFreeLook, 0); settings->Get("UseFFV1", &bUseFFV1, 0); settings->Get("Stereo", &bStereo, false); - settings->Get("StereoSeparation", &iStereoSeparation, 200); - settings->Get("StereoFocalAngle", &iStereoFocalAngle, 0); + settings->Get("StereoSeparation", &iStereoSeparation, 65); + settings->Get("StereoFocalLength", &iStereoFocalLength, 100); settings->Get("EnablePixelLighting", &bEnablePixelLighting, 0); settings->Get("FastDepthCalc", &bFastDepthCalc, true); settings->Get("MSAA", &iMultisampleMode, 0); @@ -142,7 +142,7 @@ void VideoConfig::GameIniLoad() CHECK_SETTING("Video_Settings", "HiresTextures", bHiresTextures); CHECK_SETTING("Video_Settings", "Stereo", bStereo); CHECK_SETTING("Video_Settings", "StereoSeparation", iStereoSeparation); - CHECK_SETTING("Video_Settings", "StereoFocalAngle", iStereoFocalAngle); + CHECK_SETTING("Video_Settings", "StereoFocalLength", iStereoFocalLength); CHECK_SETTING("Video_Settings", "EnablePixelLighting", bEnablePixelLighting); CHECK_SETTING("Video_Settings", "FastDepthCalc", bFastDepthCalc); CHECK_SETTING("Video_Settings", "MSAA", iMultisampleMode); @@ -232,7 +232,7 @@ void VideoConfig::Save(const std::string& ini_file) settings->Set("UseFFV1", bUseFFV1); settings->Set("Stereo", bStereo); settings->Set("StereoSeparation", iStereoSeparation); - settings->Set("StereoFocalAngle", iStereoFocalAngle); + settings->Set("StereoFocalLength", iStereoFocalLength); settings->Set("EnablePixelLighting", bEnablePixelLighting); settings->Set("FastDepthCalc", bFastDepthCalc); settings->Set("ShowEFBCopyRegions", bShowEFBCopyRegions); -- cgit v1.2.3 From 4fd943aedd9d2fbc59cd1d5181630da128e7446a Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Wed, 29 Oct 2014 16:26:28 +0100 Subject: VideoConfig: Limit the Stereo 3D option to the OpenGL backend. --- Source/Core/VideoCommon/VideoConfig.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 9962160486..af073fab5e 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -203,6 +203,7 @@ void VideoConfig::VerifyValidity() // TODO: Check iMaxAnisotropy value if (iAdapter < 0 || iAdapter > ((int)backend_info.Adapters.size() - 1)) iAdapter = 0; if (iMultisampleMode < 0 || iMultisampleMode >= (int)backend_info.AAModes.size()) iMultisampleMode = 0; + if (!backend_info.bSupportsStereoscopy) bStereo = false; } void VideoConfig::Save(const std::string& ini_file) -- cgit v1.2.3 From 9b22e151803ccfb757eb9319f1b32e3d1999f42e Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Thu, 30 Oct 2014 23:29:56 +0100 Subject: VideoConfigDiag: Add stereoscopy options group. --- Source/Core/VideoCommon/VideoConfig.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index af073fab5e..18e098652d 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -66,7 +66,7 @@ void VideoConfig::Load(const std::string& ini_file) settings->Get("DumpEFBTarget", &bDumpEFBTarget, 0); settings->Get("FreeLook", &bFreeLook, 0); settings->Get("UseFFV1", &bUseFFV1, 0); - settings->Get("Stereo", &bStereo, false); + settings->Get("StereoMode", &iStereoMode, 0); settings->Get("StereoSeparation", &iStereoSeparation, 65); settings->Get("StereoFocalLength", &iStereoFocalLength, 100); settings->Get("EnablePixelLighting", &bEnablePixelLighting, 0); @@ -140,7 +140,7 @@ void VideoConfig::GameIniLoad() CHECK_SETTING("Video_Settings", "UseRealXFB", bUseRealXFB); CHECK_SETTING("Video_Settings", "SafeTextureCacheColorSamples", iSafeTextureCache_ColorSamples); CHECK_SETTING("Video_Settings", "HiresTextures", bHiresTextures); - CHECK_SETTING("Video_Settings", "Stereo", bStereo); + CHECK_SETTING("Video_Settings", "StereoMode", iStereoMode); CHECK_SETTING("Video_Settings", "StereoSeparation", iStereoSeparation); CHECK_SETTING("Video_Settings", "StereoFocalLength", iStereoFocalLength); CHECK_SETTING("Video_Settings", "EnablePixelLighting", bEnablePixelLighting); @@ -203,7 +203,7 @@ void VideoConfig::VerifyValidity() // TODO: Check iMaxAnisotropy value if (iAdapter < 0 || iAdapter > ((int)backend_info.Adapters.size() - 1)) iAdapter = 0; if (iMultisampleMode < 0 || iMultisampleMode >= (int)backend_info.AAModes.size()) iMultisampleMode = 0; - if (!backend_info.bSupportsStereoscopy) bStereo = false; + if (!backend_info.bSupportsStereoscopy) iStereoMode = 0; } void VideoConfig::Save(const std::string& ini_file) @@ -231,7 +231,7 @@ void VideoConfig::Save(const std::string& ini_file) settings->Set("DumpEFBTarget", bDumpEFBTarget); settings->Set("FreeLook", bFreeLook); settings->Set("UseFFV1", bUseFFV1); - settings->Set("Stereo", bStereo); + settings->Set("StereoMode", iStereoMode); settings->Set("StereoSeparation", iStereoSeparation); settings->Set("StereoFocalLength", iStereoFocalLength); settings->Set("EnablePixelLighting", bEnablePixelLighting); -- cgit v1.2.3 From 1261bd02caa0ca2503bdd52e7b37c22f8e0bcde5 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Fri, 31 Oct 2014 16:05:44 +0100 Subject: VertexShaderManager: Add stereoscopy options to swap the left and right eye. --- Source/Core/VideoCommon/VideoConfig.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 18e098652d..4bcb2051f0 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -69,6 +69,7 @@ void VideoConfig::Load(const std::string& ini_file) settings->Get("StereoMode", &iStereoMode, 0); settings->Get("StereoSeparation", &iStereoSeparation, 65); settings->Get("StereoFocalLength", &iStereoFocalLength, 100); + settings->Get("StereoSwapEyes", &bStereoSwapEyes, false); settings->Get("EnablePixelLighting", &bEnablePixelLighting, 0); settings->Get("FastDepthCalc", &bFastDepthCalc, true); settings->Get("MSAA", &iMultisampleMode, 0); @@ -143,6 +144,7 @@ void VideoConfig::GameIniLoad() CHECK_SETTING("Video_Settings", "StereoMode", iStereoMode); CHECK_SETTING("Video_Settings", "StereoSeparation", iStereoSeparation); CHECK_SETTING("Video_Settings", "StereoFocalLength", iStereoFocalLength); + CHECK_SETTING("Video_Settings", "StereoSwapEyes", bStereoSwapEyes); CHECK_SETTING("Video_Settings", "EnablePixelLighting", bEnablePixelLighting); CHECK_SETTING("Video_Settings", "FastDepthCalc", bFastDepthCalc); CHECK_SETTING("Video_Settings", "MSAA", iMultisampleMode); @@ -234,6 +236,7 @@ void VideoConfig::Save(const std::string& ini_file) settings->Set("StereoMode", iStereoMode); settings->Set("StereoSeparation", iStereoSeparation); settings->Set("StereoFocalLength", iStereoFocalLength); + settings->Set("StereoSwapEyes", bStereoSwapEyes); settings->Set("EnablePixelLighting", bEnablePixelLighting); settings->Set("FastDepthCalc", bFastDepthCalc); settings->Set("ShowEFBCopyRegions", bShowEFBCopyRegions); -- cgit v1.2.3 From 3baa01fc73d33443dfd96ba34e60ca054f660a0d Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Fri, 31 Oct 2014 21:07:03 +0100 Subject: VideoConfig: Use a smaller focal length default. --- Source/Core/VideoCommon/VideoConfig.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 4bcb2051f0..18f10b0fd2 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -68,7 +68,7 @@ void VideoConfig::Load(const std::string& ini_file) settings->Get("UseFFV1", &bUseFFV1, 0); settings->Get("StereoMode", &iStereoMode, 0); settings->Get("StereoSeparation", &iStereoSeparation, 65); - settings->Get("StereoFocalLength", &iStereoFocalLength, 100); + settings->Get("StereoFocalLength", &iStereoFocalLength, 50); settings->Get("StereoSwapEyes", &bStereoSwapEyes, false); settings->Get("EnablePixelLighting", &bEnablePixelLighting, 0); settings->Get("FastDepthCalc", &bFastDepthCalc, true); -- cgit v1.2.3 From f3ddf37d074f80bf40b42995e91db98b4d599534 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Sat, 8 Nov 2014 14:31:26 +0100 Subject: VideoCommon: Switch to Nvidia stereoscopy offset formula. --- Source/Core/VideoCommon/VideoConfig.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 18f10b0fd2..d97a5a9377 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -67,8 +67,8 @@ void VideoConfig::Load(const std::string& ini_file) settings->Get("FreeLook", &bFreeLook, 0); settings->Get("UseFFV1", &bUseFFV1, 0); settings->Get("StereoMode", &iStereoMode, 0); - settings->Get("StereoSeparation", &iStereoSeparation, 65); - settings->Get("StereoFocalLength", &iStereoFocalLength, 50); + settings->Get("StereoSeparation", &iStereoSeparation, 50); + settings->Get("StereoFocalLength", &iStereoFocalLength, 30); settings->Get("StereoSwapEyes", &bStereoSwapEyes, false); settings->Get("EnablePixelLighting", &bEnablePixelLighting, 0); settings->Get("FastDepthCalc", &bFastDepthCalc, true); -- cgit v1.2.3 From 0f63186371c4f0bcc784fa8506d18b9514075d29 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Sat, 8 Nov 2014 16:19:15 +0100 Subject: TextureCache: Add "Mono EFB Depth Copy" stereoscopy option. --- Source/Core/VideoCommon/VideoConfig.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index d97a5a9377..de2891fa74 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -70,6 +70,7 @@ void VideoConfig::Load(const std::string& ini_file) settings->Get("StereoSeparation", &iStereoSeparation, 50); settings->Get("StereoFocalLength", &iStereoFocalLength, 30); settings->Get("StereoSwapEyes", &bStereoSwapEyes, false); + settings->Get("StereoMonoEFBDepth", &bStereoMonoEFBDepth, false); settings->Get("EnablePixelLighting", &bEnablePixelLighting, 0); settings->Get("FastDepthCalc", &bFastDepthCalc, true); settings->Get("MSAA", &iMultisampleMode, 0); @@ -145,6 +146,7 @@ void VideoConfig::GameIniLoad() CHECK_SETTING("Video_Settings", "StereoSeparation", iStereoSeparation); CHECK_SETTING("Video_Settings", "StereoFocalLength", iStereoFocalLength); CHECK_SETTING("Video_Settings", "StereoSwapEyes", bStereoSwapEyes); + CHECK_SETTING("Video_Settings", "StereoMonoEFBDepth", bStereoMonoEFBDepth); CHECK_SETTING("Video_Settings", "EnablePixelLighting", bEnablePixelLighting); CHECK_SETTING("Video_Settings", "FastDepthCalc", bFastDepthCalc); CHECK_SETTING("Video_Settings", "MSAA", iMultisampleMode); @@ -237,6 +239,7 @@ void VideoConfig::Save(const std::string& ini_file) settings->Set("StereoSeparation", iStereoSeparation); settings->Set("StereoFocalLength", iStereoFocalLength); settings->Set("StereoSwapEyes", bStereoSwapEyes); + settings->Set("StereoMonoEFBDepth", bStereoMonoEFBDepth); settings->Set("EnablePixelLighting", bEnablePixelLighting); settings->Set("FastDepthCalc", bFastDepthCalc); settings->Set("ShowEFBCopyRegions", bShowEFBCopyRegions); -- cgit v1.2.3 From 24e4de364310880ecbe9cf396701fd9aede6dd6b Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Tue, 11 Nov 2014 00:53:03 +0100 Subject: VideoConfig: Move stereoscopy settings to the Enhancements section. --- Source/Core/VideoCommon/VideoConfig.cpp | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index de2891fa74..f30c13f388 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -66,11 +66,6 @@ void VideoConfig::Load(const std::string& ini_file) settings->Get("DumpEFBTarget", &bDumpEFBTarget, 0); settings->Get("FreeLook", &bFreeLook, 0); settings->Get("UseFFV1", &bUseFFV1, 0); - settings->Get("StereoMode", &iStereoMode, 0); - settings->Get("StereoSeparation", &iStereoSeparation, 50); - settings->Get("StereoFocalLength", &iStereoFocalLength, 30); - settings->Get("StereoSwapEyes", &bStereoSwapEyes, false); - settings->Get("StereoMonoEFBDepth", &bStereoMonoEFBDepth, false); settings->Get("EnablePixelLighting", &bEnablePixelLighting, 0); settings->Get("FastDepthCalc", &bFastDepthCalc, true); settings->Get("MSAA", &iMultisampleMode, 0); @@ -87,6 +82,11 @@ void VideoConfig::Load(const std::string& ini_file) enhancements->Get("ForceFiltering", &bForceFiltering, 0); enhancements->Get("MaxAnisotropy", &iMaxAnisotropy, 0); // NOTE - this is x in (1 << x) enhancements->Get("PostProcessingShader", &sPostProcessingShader, ""); + enhancements->Get("StereoMode", &iStereoMode, 0); + enhancements->Get("StereoSeparation", &iStereoSeparation, 50); + enhancements->Get("StereoFocalLength", &iStereoFocalLength, 30); + enhancements->Get("StereoSwapEyes", &bStereoSwapEyes, false); + enhancements->Get("StereoMonoEFBDepth", &bStereoMonoEFBDepth, false); IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks"); hacks->Get("EFBAccessEnable", &bEFBAccessEnable, true); @@ -142,11 +142,6 @@ void VideoConfig::GameIniLoad() CHECK_SETTING("Video_Settings", "UseRealXFB", bUseRealXFB); CHECK_SETTING("Video_Settings", "SafeTextureCacheColorSamples", iSafeTextureCache_ColorSamples); CHECK_SETTING("Video_Settings", "HiresTextures", bHiresTextures); - CHECK_SETTING("Video_Settings", "StereoMode", iStereoMode); - CHECK_SETTING("Video_Settings", "StereoSeparation", iStereoSeparation); - CHECK_SETTING("Video_Settings", "StereoFocalLength", iStereoFocalLength); - CHECK_SETTING("Video_Settings", "StereoSwapEyes", bStereoSwapEyes); - CHECK_SETTING("Video_Settings", "StereoMonoEFBDepth", bStereoMonoEFBDepth); CHECK_SETTING("Video_Settings", "EnablePixelLighting", bEnablePixelLighting); CHECK_SETTING("Video_Settings", "FastDepthCalc", bFastDepthCalc); CHECK_SETTING("Video_Settings", "MSAA", iMultisampleMode); @@ -183,6 +178,11 @@ void VideoConfig::GameIniLoad() CHECK_SETTING("Video_Enhancements", "ForceFiltering", bForceFiltering); CHECK_SETTING("Video_Enhancements", "MaxAnisotropy", iMaxAnisotropy); // NOTE - this is x in (1 << x) CHECK_SETTING("Video_Enhancements", "PostProcessingShader", sPostProcessingShader); + CHECK_SETTING("Video_Enhancements", "StereoMode", iStereoMode); + CHECK_SETTING("Video_Enhancements", "StereoSeparation", iStereoSeparation); + CHECK_SETTING("Video_Enhancements", "StereoFocalLength", iStereoFocalLength); + CHECK_SETTING("Video_Enhancements", "StereoSwapEyes", bStereoSwapEyes); + CHECK_SETTING("Video_Enhancements", "StereoMonoEFBDepth", bStereoMonoEFBDepth); CHECK_SETTING("Video_Hacks", "EFBAccessEnable", bEFBAccessEnable); CHECK_SETTING("Video_Hacks", "EFBCopyEnable", bEFBCopyEnable); @@ -235,11 +235,6 @@ void VideoConfig::Save(const std::string& ini_file) settings->Set("DumpEFBTarget", bDumpEFBTarget); settings->Set("FreeLook", bFreeLook); settings->Set("UseFFV1", bUseFFV1); - settings->Set("StereoMode", iStereoMode); - settings->Set("StereoSeparation", iStereoSeparation); - settings->Set("StereoFocalLength", iStereoFocalLength); - settings->Set("StereoSwapEyes", bStereoSwapEyes); - settings->Set("StereoMonoEFBDepth", bStereoMonoEFBDepth); settings->Set("EnablePixelLighting", bEnablePixelLighting); settings->Set("FastDepthCalc", bFastDepthCalc); settings->Set("ShowEFBCopyRegions", bShowEFBCopyRegions); @@ -257,6 +252,11 @@ void VideoConfig::Save(const std::string& ini_file) enhancements->Set("ForceFiltering", bForceFiltering); enhancements->Set("MaxAnisotropy", iMaxAnisotropy); enhancements->Set("PostProcessingShader", sPostProcessingShader); + enhancements->Set("StereoMode", iStereoMode); + enhancements->Set("StereoSeparation", iStereoSeparation); + enhancements->Set("StereoFocalLength", iStereoFocalLength); + enhancements->Set("StereoSwapEyes", bStereoSwapEyes); + enhancements->Set("StereoMonoEFBDepth", bStereoMonoEFBDepth); IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks"); hacks->Set("EFBAccessEnable", bEFBAccessEnable); -- cgit v1.2.3 From 0f4d59f61207af19f4977c1a11afc8cac1acdd91 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Mon, 24 Nov 2014 11:50:35 +0100 Subject: VideoConfig: Rename StereoFocalLength to StereoConvergence. --- Source/Core/VideoCommon/VideoConfig.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index f30c13f388..2caeaee778 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -84,7 +84,7 @@ void VideoConfig::Load(const std::string& ini_file) enhancements->Get("PostProcessingShader", &sPostProcessingShader, ""); enhancements->Get("StereoMode", &iStereoMode, 0); enhancements->Get("StereoSeparation", &iStereoSeparation, 50); - enhancements->Get("StereoFocalLength", &iStereoFocalLength, 30); + enhancements->Get("StereoConvergence", &iStereoConvergence, 30); enhancements->Get("StereoSwapEyes", &bStereoSwapEyes, false); enhancements->Get("StereoMonoEFBDepth", &bStereoMonoEFBDepth, false); @@ -180,7 +180,7 @@ void VideoConfig::GameIniLoad() CHECK_SETTING("Video_Enhancements", "PostProcessingShader", sPostProcessingShader); CHECK_SETTING("Video_Enhancements", "StereoMode", iStereoMode); CHECK_SETTING("Video_Enhancements", "StereoSeparation", iStereoSeparation); - CHECK_SETTING("Video_Enhancements", "StereoFocalLength", iStereoFocalLength); + CHECK_SETTING("Video_Enhancements", "StereoConvergence", iStereoConvergence); CHECK_SETTING("Video_Enhancements", "StereoSwapEyes", bStereoSwapEyes); CHECK_SETTING("Video_Enhancements", "StereoMonoEFBDepth", bStereoMonoEFBDepth); @@ -254,7 +254,7 @@ void VideoConfig::Save(const std::string& ini_file) enhancements->Set("PostProcessingShader", sPostProcessingShader); enhancements->Set("StereoMode", iStereoMode); enhancements->Set("StereoSeparation", iStereoSeparation); - enhancements->Set("StereoFocalLength", iStereoFocalLength); + enhancements->Set("StereoConvergence", iStereoConvergence); enhancements->Set("StereoSwapEyes", bStereoSwapEyes); enhancements->Set("StereoMonoEFBDepth", bStereoMonoEFBDepth); -- cgit v1.2.3 From f64aadd3621941c9910d21a595175e59ae1d30e9 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Mon, 24 Nov 2014 12:01:21 +0100 Subject: VideoConfig: Limit the StereoMonoEFBDepth option to the game ini and introduce a separate section for it. --- Source/Core/VideoCommon/VideoConfig.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 2caeaee778..76baa6d1d0 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -38,6 +38,9 @@ VideoConfig::VideoConfig() backend_info.APIType = API_NONE; backend_info.bUseMinimalMipCount = false; backend_info.bSupportsExclusiveFullscreen = false; + + // Game-specific stereoscopy settings + bStereoMonoEFBDepth = false; } void VideoConfig::Load(const std::string& ini_file) @@ -86,7 +89,6 @@ void VideoConfig::Load(const std::string& ini_file) enhancements->Get("StereoSeparation", &iStereoSeparation, 50); enhancements->Get("StereoConvergence", &iStereoConvergence, 30); enhancements->Get("StereoSwapEyes", &bStereoSwapEyes, false); - enhancements->Get("StereoMonoEFBDepth", &bStereoMonoEFBDepth, false); IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks"); hacks->Get("EFBAccessEnable", &bEFBAccessEnable, true); @@ -182,7 +184,8 @@ void VideoConfig::GameIniLoad() CHECK_SETTING("Video_Enhancements", "StereoSeparation", iStereoSeparation); CHECK_SETTING("Video_Enhancements", "StereoConvergence", iStereoConvergence); CHECK_SETTING("Video_Enhancements", "StereoSwapEyes", bStereoSwapEyes); - CHECK_SETTING("Video_Enhancements", "StereoMonoEFBDepth", bStereoMonoEFBDepth); + + CHECK_SETTING("Video_Stereoscopy", "StereoMonoEFBDepth", bStereoMonoEFBDepth); CHECK_SETTING("Video_Hacks", "EFBAccessEnable", bEFBAccessEnable); CHECK_SETTING("Video_Hacks", "EFBCopyEnable", bEFBCopyEnable); @@ -256,7 +259,6 @@ void VideoConfig::Save(const std::string& ini_file) enhancements->Set("StereoSeparation", iStereoSeparation); enhancements->Set("StereoConvergence", iStereoConvergence); enhancements->Set("StereoSwapEyes", bStereoSwapEyes); - enhancements->Set("StereoMonoEFBDepth", bStereoMonoEFBDepth); IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks"); hacks->Set("EFBAccessEnable", bEFBAccessEnable); -- cgit v1.2.3 From a04edbcb9a5ffe9351c75446982e3832b6d3e5a4 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Mon, 24 Nov 2014 12:19:25 +0100 Subject: VideoConfig: Add separation and convergence modifiers to the game ini. --- Source/Core/VideoCommon/VideoConfig.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 76baa6d1d0..741d671a34 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -41,6 +41,8 @@ VideoConfig::VideoConfig() // Game-specific stereoscopy settings bStereoMonoEFBDepth = false; + iStereoSeparationPercent = 100; + iStereoConvergencePercent = 100; } void VideoConfig::Load(const std::string& ini_file) @@ -186,6 +188,8 @@ void VideoConfig::GameIniLoad() CHECK_SETTING("Video_Enhancements", "StereoSwapEyes", bStereoSwapEyes); CHECK_SETTING("Video_Stereoscopy", "StereoMonoEFBDepth", bStereoMonoEFBDepth); + CHECK_SETTING("Video_Stereoscopy", "StereoSeparationPercent", iStereoSeparationPercent); + CHECK_SETTING("Video_Stereoscopy", "StereoConvergencePercent", iStereoConvergencePercent); CHECK_SETTING("Video_Hacks", "EFBAccessEnable", bEFBAccessEnable); CHECK_SETTING("Video_Hacks", "EFBCopyEnable", bEFBCopyEnable); -- cgit v1.2.3 From 6d51455195e95a1bb97eb263fcd3423c757f59e7 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Thu, 27 Nov 2014 15:28:00 +0100 Subject: VideoConfig: Further optimize convergence and separation values and update their descriptions. Previous convergence distance was much too large. --- Source/Core/VideoCommon/VideoConfig.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Source/Core/VideoCommon/VideoConfig.cpp') diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 741d671a34..2b6025f13e 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -88,8 +88,8 @@ void VideoConfig::Load(const std::string& ini_file) enhancements->Get("MaxAnisotropy", &iMaxAnisotropy, 0); // NOTE - this is x in (1 << x) enhancements->Get("PostProcessingShader", &sPostProcessingShader, ""); enhancements->Get("StereoMode", &iStereoMode, 0); - enhancements->Get("StereoSeparation", &iStereoSeparation, 50); - enhancements->Get("StereoConvergence", &iStereoConvergence, 30); + enhancements->Get("StereoSeparation", &iStereoSeparation, 20); + enhancements->Get("StereoConvergence", &iStereoConvergence, 20); enhancements->Get("StereoSwapEyes", &bStereoSwapEyes, false); IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks"); -- cgit v1.2.3