Merge pull request #3017 from Armada651/convergence
VideoConfig: Change convergence setting to percentage value.
This commit is contained in:
commit
fe2cbc49f1
|
@ -25,4 +25,4 @@ EFBToTextureEnable = False
|
||||||
FastDepthCalc = False
|
FastDepthCalc = False
|
||||||
|
|
||||||
[Video_Stereoscopy]
|
[Video_Stereoscopy]
|
||||||
StereoConvergenceMinimum = 115
|
StereoConvergence = 115
|
||||||
|
|
|
@ -18,4 +18,4 @@ EmulationIssues = Classic mode score report needs real xfb. Nes masterpieces and
|
||||||
# Add action replay cheats here.
|
# Add action replay cheats here.
|
||||||
|
|
||||||
[Video_Stereoscopy]
|
[Video_Stereoscopy]
|
||||||
StereoConvergenceMinimum = 136
|
StereoConvergence = 136
|
||||||
|
|
|
@ -22,4 +22,4 @@ FastDepthCalc = False
|
||||||
SafeTextureCacheColorSamples = 512
|
SafeTextureCacheColorSamples = 512
|
||||||
|
|
||||||
[Video_Stereoscopy]
|
[Video_Stereoscopy]
|
||||||
StereoConvergenceMinimum = 26
|
StereoConvergence = 26
|
||||||
|
|
|
@ -439,7 +439,9 @@ VideoConfigDiag::VideoConfigDiag(wxWindow* parent, const std::string &title, con
|
||||||
szr_stereo->Add(new wxStaticText(page_enh, wxID_ANY, _("Depth:")), 1, wxALIGN_CENTER_VERTICAL, 0);
|
szr_stereo->Add(new wxStaticText(page_enh, wxID_ANY, _("Depth:")), 1, wxALIGN_CENTER_VERTICAL, 0);
|
||||||
szr_stereo->Add(sep_slider, 0, wxEXPAND | wxRIGHT);
|
szr_stereo->Add(sep_slider, 0, wxEXPAND | wxRIGHT);
|
||||||
|
|
||||||
wxSlider* const conv_slider = new wxSlider(page_enh, wxID_ANY, vconfig.iStereoConvergence, 0, 500, wxDefaultPosition, wxDefaultSize);
|
conv_slider = new wxSlider(page_enh, wxID_ANY, vconfig.iStereoConvergencePercentage, 0, 200, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS);
|
||||||
|
conv_slider->ClearTicks();
|
||||||
|
conv_slider->SetTick(100);
|
||||||
conv_slider->Bind(wxEVT_SLIDER, &VideoConfigDiag::Event_StereoConvergence, this);
|
conv_slider->Bind(wxEVT_SLIDER, &VideoConfigDiag::Event_StereoConvergence, this);
|
||||||
RegisterControl(conv_slider, wxGetTranslation(stereo_convergence_desc));
|
RegisterControl(conv_slider, wxGetTranslation(stereo_convergence_desc));
|
||||||
|
|
||||||
|
|
|
@ -168,7 +168,12 @@ protected:
|
||||||
|
|
||||||
void Event_StereoConvergence(wxCommandEvent &ev)
|
void Event_StereoConvergence(wxCommandEvent &ev)
|
||||||
{
|
{
|
||||||
vconfig.iStereoConvergence = ev.GetInt();
|
// Snap the slider
|
||||||
|
int value = ev.GetInt();
|
||||||
|
if (90 < value && value < 110)
|
||||||
|
conv_slider->SetValue(100);
|
||||||
|
|
||||||
|
vconfig.iStereoConvergencePercentage = conv_slider->GetValue();
|
||||||
|
|
||||||
ev.Skip();
|
ev.Skip();
|
||||||
}
|
}
|
||||||
|
@ -256,6 +261,7 @@ protected:
|
||||||
|
|
||||||
wxStaticText* text_aamode;
|
wxStaticText* text_aamode;
|
||||||
wxChoice* choice_aamode;
|
wxChoice* choice_aamode;
|
||||||
|
wxSlider* conv_slider;
|
||||||
|
|
||||||
wxStaticText* label_display_resolution;
|
wxStaticText* label_display_resolution;
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ void GeometryShaderManager::SetConstants()
|
||||||
constants.stereoparams[0] = constants.stereoparams[1] = 0;
|
constants.stereoparams[0] = constants.stereoparams[1] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
constants.stereoparams[2] = (float)(g_ActiveConfig.iStereoConvergenceMinimum + g_ActiveConfig.iStereoConvergence);
|
constants.stereoparams[2] = (float)(g_ActiveConfig.iStereoConvergence * (g_ActiveConfig.iStereoConvergencePercentage / 100.0f));
|
||||||
|
|
||||||
dirty = true;
|
dirty = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ VideoConfig::VideoConfig()
|
||||||
// Game-specific stereoscopy settings
|
// Game-specific stereoscopy settings
|
||||||
bStereoEFBMonoDepth = false;
|
bStereoEFBMonoDepth = false;
|
||||||
iStereoDepthPercentage = 100;
|
iStereoDepthPercentage = 100;
|
||||||
iStereoConvergenceMinimum = 0;
|
iStereoConvergence = 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VideoConfig::Load(const std::string& ini_file)
|
void VideoConfig::Load(const std::string& ini_file)
|
||||||
|
@ -92,7 +92,7 @@ void VideoConfig::Load(const std::string& ini_file)
|
||||||
enhancements->Get("PostProcessingShader", &sPostProcessingShader, "");
|
enhancements->Get("PostProcessingShader", &sPostProcessingShader, "");
|
||||||
enhancements->Get("StereoMode", &iStereoMode, 0);
|
enhancements->Get("StereoMode", &iStereoMode, 0);
|
||||||
enhancements->Get("StereoDepth", &iStereoDepth, 20);
|
enhancements->Get("StereoDepth", &iStereoDepth, 20);
|
||||||
enhancements->Get("StereoConvergence", &iStereoConvergence, 20);
|
enhancements->Get("StereoConvergencePercentage", &iStereoConvergencePercentage, 100);
|
||||||
enhancements->Get("StereoSwapEyes", &bStereoSwapEyes, false);
|
enhancements->Get("StereoSwapEyes", &bStereoSwapEyes, false);
|
||||||
|
|
||||||
//currently these settings are not saved in global config, so we could've initialized them directly
|
//currently these settings are not saved in global config, so we could've initialized them directly
|
||||||
|
@ -222,7 +222,6 @@ void VideoConfig::GameIniLoad()
|
||||||
|
|
||||||
CHECK_SETTING("Video_Stereoscopy", "StereoEFBMonoDepth", bStereoEFBMonoDepth);
|
CHECK_SETTING("Video_Stereoscopy", "StereoEFBMonoDepth", bStereoEFBMonoDepth);
|
||||||
CHECK_SETTING("Video_Stereoscopy", "StereoDepthPercentage", iStereoDepthPercentage);
|
CHECK_SETTING("Video_Stereoscopy", "StereoDepthPercentage", iStereoDepthPercentage);
|
||||||
CHECK_SETTING("Video_Stereoscopy", "StereoConvergenceMinimum", iStereoConvergenceMinimum);
|
|
||||||
|
|
||||||
CHECK_SETTING("Video_Hacks", "EFBAccessEnable", bEFBAccessEnable);
|
CHECK_SETTING("Video_Hacks", "EFBAccessEnable", bEFBAccessEnable);
|
||||||
CHECK_SETTING("Video_Hacks", "BBoxEnable", bBBoxEnable);
|
CHECK_SETTING("Video_Hacks", "BBoxEnable", bBBoxEnable);
|
||||||
|
@ -309,7 +308,7 @@ void VideoConfig::Save(const std::string& ini_file)
|
||||||
enhancements->Set("PostProcessingShader", sPostProcessingShader);
|
enhancements->Set("PostProcessingShader", sPostProcessingShader);
|
||||||
enhancements->Set("StereoMode", iStereoMode);
|
enhancements->Set("StereoMode", iStereoMode);
|
||||||
enhancements->Set("StereoDepth", iStereoDepth);
|
enhancements->Set("StereoDepth", iStereoDepth);
|
||||||
enhancements->Set("StereoConvergence", iStereoConvergence);
|
enhancements->Set("StereoConvergencePercentage", iStereoConvergencePercentage);
|
||||||
enhancements->Set("StereoSwapEyes", bStereoSwapEyes);
|
enhancements->Set("StereoSwapEyes", bStereoSwapEyes);
|
||||||
|
|
||||||
IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks");
|
IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks");
|
||||||
|
|
|
@ -88,10 +88,6 @@ struct VideoConfig final
|
||||||
bool bForceFiltering;
|
bool bForceFiltering;
|
||||||
int iMaxAnisotropy;
|
int iMaxAnisotropy;
|
||||||
std::string sPostProcessingShader;
|
std::string sPostProcessingShader;
|
||||||
int iStereoMode;
|
|
||||||
int iStereoDepth;
|
|
||||||
int iStereoConvergence;
|
|
||||||
bool bStereoSwapEyes;
|
|
||||||
std::array<StereoscopyPreset, STEREOSCOPY_PRESETS_NUM> oStereoPresets;
|
std::array<StereoscopyPreset, STEREOSCOPY_PRESETS_NUM> oStereoPresets;
|
||||||
int iStereoActivePreset;
|
int iStereoActivePreset;
|
||||||
|
|
||||||
|
@ -136,9 +132,13 @@ struct VideoConfig final
|
||||||
int iSaveTargetId; // TODO: Should be dropped
|
int iSaveTargetId; // TODO: Should be dropped
|
||||||
|
|
||||||
// Stereoscopy
|
// Stereoscopy
|
||||||
|
int iStereoMode;
|
||||||
|
int iStereoDepth;
|
||||||
|
int iStereoConvergence;
|
||||||
|
int iStereoConvergencePercentage;
|
||||||
|
bool bStereoSwapEyes;
|
||||||
bool bStereoEFBMonoDepth;
|
bool bStereoEFBMonoDepth;
|
||||||
int iStereoDepthPercentage;
|
int iStereoDepthPercentage;
|
||||||
int iStereoConvergenceMinimum;
|
|
||||||
|
|
||||||
// D3D only config, mostly to be merged into the above
|
// D3D only config, mostly to be merged into the above
|
||||||
int iAdapter;
|
int iAdapter;
|
||||||
|
|
Loading…
Reference in New Issue