mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-05-29 23:42:25 +02:00
Merge pull request #294 from overte-org/fix/default_aa
Secondary camera now has the same antialiasing settings as main one
This commit is contained in:
commit
76b3f1bcdc
2 changed files with 38 additions and 25 deletions
|
@ -132,36 +132,49 @@ void RenderScriptingInterface::setAntialiasingMode(AntialiasingConfig::Mode mode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setAntialiasingModeForView(AntialiasingConfig::Mode mode, JitterSampleConfig *jitterCamConfig, AntialiasingConfig *antialiasingConfig) {
|
||||||
|
switch (mode) {
|
||||||
|
case AntialiasingConfig::Mode::NONE:
|
||||||
|
jitterCamConfig->none();
|
||||||
|
antialiasingConfig->blend = 1;
|
||||||
|
antialiasingConfig->setDebugFXAA(false);
|
||||||
|
break;
|
||||||
|
case AntialiasingConfig::Mode::TAA:
|
||||||
|
jitterCamConfig->play();
|
||||||
|
antialiasingConfig->blend = 0.25;
|
||||||
|
antialiasingConfig->setDebugFXAA(false);
|
||||||
|
break;
|
||||||
|
case AntialiasingConfig::Mode::FXAA:
|
||||||
|
jitterCamConfig->none();
|
||||||
|
antialiasingConfig->blend = 0.25;
|
||||||
|
antialiasingConfig->setDebugFXAA(true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
jitterCamConfig->none();
|
||||||
|
antialiasingConfig->blend = 1;
|
||||||
|
antialiasingConfig->setDebugFXAA(false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void RenderScriptingInterface::forceAntialiasingMode(AntialiasingConfig::Mode mode) {
|
void RenderScriptingInterface::forceAntialiasingMode(AntialiasingConfig::Mode mode) {
|
||||||
_renderSettingLock.withWriteLock([&] {
|
_renderSettingLock.withWriteLock([&] {
|
||||||
_antialiasingMode = mode;
|
_antialiasingMode = mode;
|
||||||
|
|
||||||
auto mainViewJitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>("RenderMainView.JitterCam");
|
auto mainViewJitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>("RenderMainView.JitterCam");
|
||||||
auto mainViewAntialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>("RenderMainView.Antialiasing");
|
auto mainViewAntialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>("RenderMainView.Antialiasing");
|
||||||
|
auto secondViewJitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>("RenderSecondView.JitterCam");
|
||||||
|
auto secondViewAntialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>("RenderSecondView.Antialiasing");
|
||||||
|
if (mode != AntialiasingConfig::Mode::NONE
|
||||||
|
&& mode != AntialiasingConfig::Mode::TAA
|
||||||
|
&& mode != AntialiasingConfig::Mode::FXAA) {
|
||||||
|
_antialiasingMode = AntialiasingConfig::Mode::NONE;
|
||||||
|
}
|
||||||
if (mainViewJitterCamConfig && mainViewAntialiasingConfig) {
|
if (mainViewJitterCamConfig && mainViewAntialiasingConfig) {
|
||||||
switch (mode) {
|
setAntialiasingModeForView( mode, mainViewJitterCamConfig, mainViewAntialiasingConfig);
|
||||||
case AntialiasingConfig::Mode::NONE:
|
}
|
||||||
mainViewJitterCamConfig->none();
|
if (secondViewJitterCamConfig && secondViewAntialiasingConfig) {
|
||||||
mainViewAntialiasingConfig->blend = 1;
|
setAntialiasingModeForView( mode, secondViewJitterCamConfig, secondViewAntialiasingConfig);
|
||||||
mainViewAntialiasingConfig->setDebugFXAA(false);
|
|
||||||
break;
|
|
||||||
case AntialiasingConfig::Mode::TAA:
|
|
||||||
mainViewJitterCamConfig->play();
|
|
||||||
mainViewAntialiasingConfig->blend = 0.25;
|
|
||||||
mainViewAntialiasingConfig->setDebugFXAA(false);
|
|
||||||
break;
|
|
||||||
case AntialiasingConfig::Mode::FXAA:
|
|
||||||
mainViewJitterCamConfig->none();
|
|
||||||
mainViewAntialiasingConfig->blend = 0.25;
|
|
||||||
mainViewAntialiasingConfig->setDebugFXAA(true);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
_antialiasingMode = AntialiasingConfig::Mode::NONE;
|
|
||||||
mainViewJitterCamConfig->none();
|
|
||||||
mainViewAntialiasingConfig->blend = 1;
|
|
||||||
mainViewAntialiasingConfig->setDebugFXAA(false);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_antialiasingModeSetting.set(_antialiasingMode);
|
_antialiasingModeSetting.set(_antialiasingMode);
|
||||||
|
|
|
@ -194,7 +194,7 @@ private:
|
||||||
int _renderMethod{ RENDER_FORWARD ? render::Args::RenderMethod::FORWARD : render::Args::RenderMethod::DEFERRED };
|
int _renderMethod{ RENDER_FORWARD ? render::Args::RenderMethod::FORWARD : render::Args::RenderMethod::DEFERRED };
|
||||||
bool _shadowsEnabled{ true };
|
bool _shadowsEnabled{ true };
|
||||||
bool _ambientOcclusionEnabled{ false };
|
bool _ambientOcclusionEnabled{ false };
|
||||||
AntialiasingConfig::Mode _antialiasingMode{ AntialiasingConfig::Mode::TAA };
|
AntialiasingConfig::Mode _antialiasingMode{ AntialiasingConfig::Mode::NONE };
|
||||||
float _viewportResolutionScale{ 1.0f };
|
float _viewportResolutionScale{ 1.0f };
|
||||||
|
|
||||||
// Actual settings saved on disk
|
// Actual settings saved on disk
|
||||||
|
@ -202,7 +202,7 @@ private:
|
||||||
Setting::Handle<bool> _shadowsEnabledSetting { "shadowsEnabled", true };
|
Setting::Handle<bool> _shadowsEnabledSetting { "shadowsEnabled", true };
|
||||||
Setting::Handle<bool> _ambientOcclusionEnabledSetting { "ambientOcclusionEnabled", false };
|
Setting::Handle<bool> _ambientOcclusionEnabledSetting { "ambientOcclusionEnabled", false };
|
||||||
//Setting::Handle<AntialiasingConfig::Mode> _antialiasingModeSetting { "antialiasingMode", AntialiasingConfig::Mode::TAA };
|
//Setting::Handle<AntialiasingConfig::Mode> _antialiasingModeSetting { "antialiasingMode", AntialiasingConfig::Mode::TAA };
|
||||||
Setting::Handle<int> _antialiasingModeSetting { "antialiasingMode", AntialiasingConfig::Mode::TAA };
|
Setting::Handle<int> _antialiasingModeSetting { "antialiasingMode", AntialiasingConfig::Mode::NONE };
|
||||||
Setting::Handle<float> _viewportResolutionScaleSetting { "viewportResolutionScale", 1.0f };
|
Setting::Handle<float> _viewportResolutionScaleSetting { "viewportResolutionScale", 1.0f };
|
||||||
|
|
||||||
// Force assign both setting AND runtime value to the parameter value
|
// Force assign both setting AND runtime value to the parameter value
|
||||||
|
|
Loading…
Reference in a new issue