Showing the changes to interface/src/scripting/RenderScriptingInterface.cpp (1 of 5 files). Show all
Unified · Split
| @@ -8,7 +8,6 @@ · 7 unmodified lines | |||
| 8 | #include "RenderScriptingInterface.h" | 8 | #include "RenderScriptingInterface.h" |
| 9 | 9 | ||
| 10 | #include "LightingModel.h" | 10 | #include "LightingModel.h" |
| 11 | #include "AntialiasingEffect.h" | ||
| 12 | 11 | ||
| 13 | 12 | ||
| 14 | RenderScriptingInterface* RenderScriptingInterface::getInstance() { | 13 | RenderScriptingInterface* RenderScriptingInterface::getInstance() { |
| @@ -29,13 +28,14 @@ void RenderScriptingInterface::loadSettings() { · 14 unmodified lines | |||
| 29 | _renderMethod = (_renderMethodSetting.get()); | 28 | _renderMethod = (_renderMethodSetting.get()); |
| 30 | _shadowsEnabled = (_shadowsEnabledSetting.get()); | 29 | _shadowsEnabled = (_shadowsEnabledSetting.get()); |
| 31 | _ambientOcclusionEnabled = (_ambientOcclusionEnabledSetting.get()); | 30 | _ambientOcclusionEnabled = (_ambientOcclusionEnabledSetting.get()); |
| 32 | _antialiasingEnabled = (_antialiasingEnabledSetting.get()); | 31 | _antialiasingMode = (_antialiasingModeSetting.get()); |
| 33 | _viewportResolutionScale = (_viewportResolutionScaleSetting.get()); | 32 | _viewportResolutionScale = (_viewportResolutionScaleSetting.get()); |
| 34 | }); | 33 | }); |
| 35 | forceRenderMethod((RenderMethod)_renderMethod); | 34 | forceRenderMethod((RenderMethod)_renderMethod); |
| 36 | forceShadowsEnabled(_shadowsEnabled); | 35 | forceShadowsEnabled(_shadowsEnabled); |
| 37 | forceAmbientOcclusionEnabled(_ambientOcclusionEnabled); | 36 | forceAmbientOcclusionEnabled(_ambientOcclusionEnabled); |
| 38 | forceAntialiasingEnabled(_antialiasingEnabled); | 37 | forceAntialiasingMode(_antialiasingMode); |
| 38 | forceAntialiasingMode(_antialiasingMode); | ||
| 39 | forceViewportResolutionScale(_viewportResolutionScale); | 39 | forceViewportResolutionScale(_viewportResolutionScale); |
| 40 | } | 40 | } |
| 41 | 41 | ||
| @@ -121,33 +121,45 @@ void RenderScriptingInterface::forceAmbientOcclusionEnabled(bool enabled) { · 79 unmodified lines | |||
| 121 | }); | 121 | }); |
| 122 | } | 122 | } |
| 123 | 123 | ||
| 124 | bool RenderScriptingInterface::getAntialiasingEnabled() const { | 124 | AntialiasingConfig::Mode RenderScriptingInterface::getAntialiasingMode() const { |
| 125 | return _antialiasingEnabled; | 125 | return _antialiasingMode; |
| 126 | } | 126 | } |
| 127 | 127 | ||
| 128 | void RenderScriptingInterface::setAntialiasingEnabled(bool enabled) { | 128 | void RenderScriptingInterface::setAntialiasingMode(AntialiasingConfig::Mode mode) { |
| 129 | if (_antialiasingEnabled != enabled) { | 129 | if (_antialiasingMode != mode) { |
| 130 | forceAntialiasingEnabled(enabled); | 130 | forceAntialiasingMode(mode); |
| 131 | emit settingsChanged(); | 131 | emit settingsChanged(); |
| 132 | } | 132 | } |
| 133 | } | 133 | } |
| 134 | 134 | ||
| 135 | void RenderScriptingInterface::forceAntialiasingEnabled(bool enabled) { | 135 | void RenderScriptingInterface::forceAntialiasingMode(AntialiasingConfig::Mode mode) { |
| 136 | _renderSettingLock.withWriteLock([&] { | 136 | _renderSettingLock.withWriteLock([&] { |
| 137 | _antialiasingEnabled = (enabled); | 137 | _antialiasingMode = static_cast<AntialiasingConfig::Mode>(mode); |
| 138 | _antialiasingEnabledSetting.set(enabled); | 138 | _antialiasingModeSetting.set(mode); |
| 139 | 139 | ||
| 140 | auto mainViewJitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>("RenderMainView.JitterCam"); | 140 | auto mainViewJitterCamConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<JitterSample>("RenderMainView.JitterCam"); |
| 141 | auto mainViewAntialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>("RenderMainView.Antialiasing"); | 141 | auto mainViewAntialiasingConfig = qApp->getRenderEngine()->getConfiguration()->getConfig<Antialiasing>("RenderMainView.Antialiasing"); |
| 142 | if (mainViewJitterCamConfig && mainViewAntialiasingConfig) { | 142 | if (mainViewJitterCamConfig && mainViewAntialiasingConfig) { |
| 143 | Menu::getInstance()->setIsOptionChecked(MenuOption::AntiAliasing, enabled); | 143 | Menu::getInstance()->setIsOptionChecked(MenuOption::AntiAliasing, mode); |
| 144 | if (enabled) { | 144 | switch (mode) { |
| 145 | mainViewJitterCamConfig->play(); | 145 | case AntialiasingConfig::Mode::NONE: |
| 146 | mainViewAntialiasingConfig->setDebugFXAA(false); | 146 | mainViewJitterCamConfig->none(); |
| 147 | } | 147 | mainViewAntialiasingConfig->setDebugFXAA(false); |
| 148 | else { | 148 | break; |
| 149 | mainViewJitterCamConfig->none(); | 149 | case AntialiasingConfig::TAA: |
| 150 | mainViewAntialiasingConfig->setDebugFXAA(true); | 150 | mainViewJitterCamConfig->play(); |
| 151 | mainViewAntialiasingConfig->setDebugFXAA(false); | ||
| 152 | break; | ||
| 153 | case AntialiasingConfig::Mode::FXAA: | ||
| 154 | mainViewJitterCamConfig->none(); | ||
| 155 | mainViewAntialiasingConfig->setDebugFXAA(true); | ||
| 156 | break; | ||
| 157 | default: | ||
| 158 | _antialiasingMode = AntialiasingConfig::Mode::NONE; | ||
| 159 | _antialiasingModeSetting.set(AntialiasingConfig::Mode::NONE); | ||
| 160 | mainViewJitterCamConfig->none(); | ||
| 161 | mainViewAntialiasingConfig->setDebugFXAA(false); | ||
| 162 | break; | ||
| 151 | } | 163 | } |
| 152 | } | 164 | } |
| 153 | }); | 165 | }); |